• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

움직임 안됨

22.01.20 02:26 작성 조회수 119

1

마지막 예제(충돌에 따라 태양을 변화시키는 예제)에서,
완전히 동일한 코드임에도 불구하고, 캐릭터 이동이 안됩니다.
인스펙타 창의 포지션 값은 계속 변화하는데 플레이어는 그대로 있습니다.
 
-> 알 수 없지만 완전 똑같은 코드를 새로 해보니 되더라고요! 그런데 이번엔 sun의 color가 변하질 않습니다!
using UnityEngine;

public class TriggerEvent : MonoBehaviour
{
[SerializeField]
private GameObject moveObject;
[SerializeField]
private Vector3 moveDirection;
private float moveSpeed;

private void Awake()
{
moveSpeed = 5.0f;
}

private void OntriggerEnter2D(Collider2D collision)
{
moveObject.GetComponent<SpriteRenderer>().color = Color.black;
}

private void OnTriggerStay2D(Collider2D collision)
{
moveObject.transform.position += moveDirection * moveSpeed;
}

private void OnTriggerExit2D(Collider2D collision)
{
moveObject.GetComponent<SpriteRenderer>().color = Color.white;
moveObject.transform.position = new Vector3(0, 4, 0);
}
}

답변 1

답변을 작성해보세요.

0

지금 작성해주신 코드가 완전히 본인 프로젝트와 완전히 동일한 코드라면

OnTriggerEnter2D()에서 T가 소문자로 작성되어 있습니다.

이벤트 메소드가 아닌 일반 메소드로 인식해 실행이 안됩니다.

yeonu2311님의 프로필

yeonu2311

질문자

2022.01.20

감사합니다!!