2014-10-06 81 views
0

我正在创建一个游戏,并且我创建了一个移动到左右的桥。 我希望我的球员在与桥相撞时继续前进。 我试图设置位置球员的位置,但当我的球员在桥上他做小跳桥梁移动时移动播放器?

我该怎么做?

我正在试着这个。

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

} 

回答

0

我解决了这个问题。

void OnCollisionStay2D(Collision2D coll){  
     if(coll.gameObject.name.Equals("PlayerObject")){    
      coll.gameObject.transform.parent = transform; 
     }   
    }