2014-10-06 3 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; 
     }   
    }