unity3d中如何用代码实现方块的左右移动 且人物站在上面可以跟着移动 跪求
2个回答
展开全部
1、 利用层级关系,触碰时,方块是角色的父级,离开解除关系
void OnCollisionStay(Collision other)
{
other.gameObject.transform.parent = transform;
}
void OnCollisionExit(Collision other)
{
other.gameObject.transform.parent = null;
}
2、利用位移,触碰时,角色的位移和方块移动的位移一样
using UnityEngine;
using System.Collections;
public class Move : MonoBehaviour
{
private Transform juese;
void Update()
{
float distanceX = Input.GetAxis("Horizontal") * Time.deltaTime;
if (juese != null)
{
juese.Translate(distanceX, 0, 0);
}
transform.Translate(distanceX, 0, 0);
}
void OnCollisionStay(Collision other)
{
juese = other.gameObject.transform;
}
void OnCollisionExit(Collision other)
{
juese = null;
}
}
参数要微调下
void OnCollisionStay(Collision other)
{
other.gameObject.transform.parent = transform;
}
void OnCollisionExit(Collision other)
{
other.gameObject.transform.parent = null;
}
2、利用位移,触碰时,角色的位移和方块移动的位移一样
using UnityEngine;
using System.Collections;
public class Move : MonoBehaviour
{
private Transform juese;
void Update()
{
float distanceX = Input.GetAxis("Horizontal") * Time.deltaTime;
if (juese != null)
{
juese.Translate(distanceX, 0, 0);
}
transform.Translate(distanceX, 0, 0);
}
void OnCollisionStay(Collision other)
{
juese = other.gameObject.transform;
}
void OnCollisionExit(Collision other)
{
juese = null;
}
}
参数要微调下
追问
我觉得这个方法应该可以 还有第一个问题 如何用代码实现方块的左右循环移动 我只会用动画做 所以上边跟随移动的方法会失效
追答
移动的话可以参考iTween
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询