화살표 키를 사용하여 큐브를 좌우로 움직여 Unity의 2D 모드로 이동하려고합니다.화살표를 눌렀을 때 큐브를 움직이고 2 개의 큐브를 바꾼다
큐브의 위치를 부착 된 충돌 자로 바꾸고 싶지만 코드가 전혀 작동하지 않는 것 같습니다.
public float Jump = 0.6f;
Vector3 positionP, positionS, position, pos;
public GameObject Swapable;
public GameObject Player;
void Start()
{
positionS = Swapable.transform.position;
positionP = Player.transform.position;
}
// Update is called once per frame
void Update()
{
if (Input.GetKey (KeyCode.RightArrow)) {
transform.position = Vector2.right * Jump;
}
if (Input.GetKey (KeyCode.LeftArrow)) {
transform.position = -Vector2.right * Jump;
}
}
void OnTriggerEnter2D (Collider2D col)
{
if (col.Equals ("Red")) {
Debug.Log ("Touched");
position = positionS;
pos = positionP;
Player.transform.position = position;
Swapable.transform.position = pos;
}
}
내가 뭘 잘못하고 있니?
무엇이 문제입니까? 더 자세히 설명해야합니다 ... OnTRiggerEnter2D 메서드를 호출하는 데 문제가 있습니까? 큐브를 움직이는 데 문제가 있습니까? 또는 당신의 위치를 바꾸는 데 문제가 있습니까? – Savlon
예. OnTriggerEnter2D 및 OnCollisionEnter2D 메서드를 사용하여 두 큐브 간의 충돌을 감지했지만이 방법은 2D에서 작동하지 않는 것 같습니다. –