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;
        }        
    }