2017-03-14 3 views
0

내가 올바른 방향으로 이동이 코드를 사용하고 있습니다 : Unity C#의 충돌 및 방향?

transform.Translate(1,0,0); 

가 그럼 난 반대 방향으로 이동하려면이 옵션을 사용하고, 나는 X 축 양/음 변경해야합니다.

void OnCollisionEnter2D(Collision2D col){ 

} 

도와주세요 .... 미리 감사드립니다.

+0

질문이 명확하지 않습니다. 하지만 객체를 왼쪽으로 옮기고 싶다면'transform.Translate (-1,0,0); '을 사용하십시오. – Logman

+0

그렇습니다. 그러나 나는 여전히 캔트가 일어날 수 있습니다. – Ricardo

답변

0

이것은 나와 같은 초보자를위한 것입니다, 그것은 나를 위해 일합니다!

using UnityEngine; 
using System.Collections; 

public class CollisionAndtheMovement : MonoBehaviour { 
    public float speed; 
    public bool toRight;`enter code here` 
    // Use this for initialization 
    void Start() { 
     toRight = true; 


    } 

    // Update is called once per frame 
    void Update(){ 
     if (toRight) { 
      transform.Translate (Vector2.right*Time.deltaTime*speed, 0); 
     } 

     if (!toRight) { 
      transform.Translate (Vector2.left*Time.deltaTime*speed, 0); 
     } 

    } 

    void OnCollisionEnter2D(Collision2D col){ 
     if (col.gameObject.tag == "Crate" && toRight) { 
      toRight = false; 
     } else { 
      toRight = true; 
     } 
    } 
} 
+0

코드를 정리하십시오. 포맷하지 않았습니다. 그것을 위해 올바르게. – Soviut

+0

죄송합니다. 고쳐 주셔서 감사합니다. – Ricardo

0

당신은 목적과 트릭을 할 것입니다 반대 방향으로 -transform.Right에 대한 transform.Right를 사용할 수 있습니다.

0

반대 방향으로 가려면 숫자를 음수로 만드십시오.

void OnCollisionEnter2D(Collision2D col){ 
    transform.Translate(-1,0,0); 
}