작성
·
326
0
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 오브젝트의 색상을 검은색(Color.black)으로 설정
moveObject.GetComponent<SpriteRenderer>().color = Color.black;
}
private void OnTriggerStay2D(Collider2D collision)
{
// moveObject 오브젝트를 moveDirection 방향으로 이동
moveObject.transform.position += moveDirection * moveSpeed * Time.deltaTime;
}
private void OnTriggerExit2D(Collider2D collision)
{
// moveObject 오브젝트의 색상을 흰색(Color.white)으로 설정
moveObject.GetComponent<SpriteRenderer>().color = Color.white;
// moveObject 오브젝트의 위치를 (0, 3, 0)으로 설정
moveObject.transform.position = new Vector3(0, 3, 0);
}
}
다음과 같이 코드를 작성했는데 sun 오브젝트의 색이 변하면서 meveDirection으로 움직인다든지, 검은색으로 변한다든지 하지가 않습니다.
답변 5
1
0
Trigger Event에서 왼쪽, 오른쪽 모두 move object와 move direction 값 설정해 줬더니 색 변화와 이동은 하는데
left tilt 와 right tilt에도 트리거 체크 해줬는데 충돌 시 멈추지 않네 요 ㅠㅠㅠ
0
0
isTrigger는 충돌 범위의 기능을 트리거의 용도로 사용할 것인지 입니다.
트리거의 용도란 게임에서 문을 열거나 트랩을 발동시키는 장치의 개념으로
isTrigger가 체크되어 있으면 해당 충돌 범위와 충돌했을 때 충돌이 되지 않고 통과됩니다.
그리고 그 대신 OnTriggerXX2D() 메소드가 호출되죠.
이 내용은 영상에서 언급하고 있을것입니다.
0
moveObject의 색 변화와 이동은 하는데
left tilt 충돌 시 멈추지 않는다는게 무슨뜻일까요?
moveObject가 멈추지 않는다는 건가요?
left, right tilt와 충돌했을 때 moveObject의 색이 검은색으로 변하고,
충돌하고 있는 동안 계속 이동하는게 맞습니다.
그리고 left, right tilt를 벗어나 충돌이 해제되면 moveObject가 다시 중앙 위치로 돌아옵니다.