Unity3d 移动桥牌时移动球员?
我在创造一个游戏,我创造了一座左右移动的桥。 我希望我的球员在与桥相撞时继续前进。 我试着用桥牌的位置来设置球员的位置,但是当我的球员在桥牌上时,他会做一些小的跳跃 我该怎么做 我正在试这个Unity3d 移动桥牌时移动球员?,unity3d,Unity3d,我在创造一个游戏,我创造了一座左右移动的桥。 我希望我的球员在与桥相撞时继续前进。 我试着用桥牌的位置来设置球员的位置,但是当我的球员在桥牌上时,他会做一些小的跳跃 我该怎么做 我正在试这个 public class MoveBridge : MonoBehaviour { private bool isLeft = false; public float speed = 5f; public float delaySpeed; private float
public class MoveBridge : MonoBehaviour {
private bool isLeft = false;
public float speed = 5f;
public float delaySpeed;
private float moveTime;
public GameObject player;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
move();
}
private void move(){
moveTime += Time.deltaTime;
if (moveTime <= delaySpeed){
if (isLeft){
gameObject.transform.Translate(-Vector2.right * speed * Time.deltaTime);
}else{
gameObject.transform.Translate(Vector2.right * speed * Time.deltaTime);
}
}else{
isLeft = !isLeft;
moveTime = 0f;
}
}
void OnCollisionStay2D(Collision2D coll){
if(coll.gameObject.name.Equals("PlayerObject")){
player.transform.position = gameObject.transform.position;
}
}
}
公共类移动桥:单行为{
private bool isLeft=false;
公共浮子速度=5f;
公共交通速度;
私人浮动时间;
公共游戏对象玩家;
//用于初始化
无效开始(){
}
//每帧调用一次更新
无效更新(){
move();
}
私人空位移动(){
moveTime+=Time.deltaTime;
如果(moveTime我解决了这个问题
void OnCollisionStay2D(Collision2D coll){
if(coll.gameObject.name.Equals("PlayerObject")){
coll.gameObject.transform.parent = transform;
}
}