강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của ekdud1212
ekdud1212

câu hỏi đã được viết

Tìm hiểu những điều cơ bản về Unity của Tiến sĩ Ko bằng cách làm theo

Va chạm với vật lý đối tượng trò chơi (13:01)

에러는 발생 안 하는데 부딪혀도 sun 오브젝트에 아무런 반응이 없습니다.

Viết

·

442

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으로 움직인다든지, 검은색으로 변한다든지 하지가 않습니다. 

unity

Câu trả lời 5

1

unitynote님의 프로필 이미지
unitynote
Người chia sẻ kiến thức

스크린샷에 딱 가려진 부분에

콜라이더 컴포넌트 isTrigger 변수가 체크 되어 있나요?

0

Trigger Event에서 왼쪽, 오른쪽 모두 move object와 move direction 값 설정해 줬더니 색 변화와 이동은 하는데

left tilt 와 right tilt에도 트리거 체크 해줬는데 충돌 시 멈추지 않네 요 ㅠㅠㅠ

unitynote님의 프로필 이미지
unitynote
Người chia sẻ kiến thức

moveObject의 색 변화와 이동은 하는데

left tilt 충돌 시 멈추지 않는다는게 무슨뜻일까요?

moveObject가 멈추지 않는다는 건가요?

 

left, right tilt와 충돌했을 때 moveObject의 색이 검은색으로 변하고,

충돌하고 있는 동안 계속 이동하는게 맞습니다.

그리고 left, right tilt를 벗어나 충돌이 해제되면 moveObject가 다시 중앙 위치로 돌아옵니다.

0

ekdud1212님의 프로필 이미지
ekdud1212
Người đặt câu hỏi

강의를 많이 들었는데 놓친 부분이 있었나보네요... 도움 주셔서 정말 감사합니다!

0

unitynote님의 프로필 이미지
unitynote
Người chia sẻ kiến thức

isTrigger는 충돌 범위의 기능을 트리거의 용도로 사용할 것인지 입니다.

트리거의 용도란 게임에서 문을 열거나 트랩을 발동시키는 장치의 개념으로

isTrigger가 체크되어 있으면 해당 충돌 범위와 충돌했을 때 충돌이 되지 않고 통과됩니다.

그리고 그 대신 OnTriggerXX2D() 메소드가 호출되죠.

이 내용은 영상에서 언급하고 있을것입니다.

0

ekdud1212님의 프로필 이미지
ekdud1212
Người đặt câu hỏi

해결 됐습니다! isTrigger 변수가 정확히 무엇을 의미하는지 알 수 있나요?? 도움주셔서 정말 감사합니당!

Hình ảnh hồ sơ của ekdud1212
ekdud1212

câu hỏi đã được viết

Đặt câu hỏi