Trigger는 시스템에서 이벤트를 수신하고 각 이벤트에 대해 등록된 기능을 호출합니다.
Sprite는 2D 그래픽 객체입니다.
GameObject text는 Trigger를 이용하여 text의 활성화 여부를 결정해야 하기 때문에 선언한 변수이다.
Sprite sprite는 플레이어가 조건에 만족한 행동을 하였을 때 해당 스프라이트로 바뀌주기 위해 선언한 변수이다.
bool isChange는 오브젝트가 비활성화 되었는데 특정 조건에 의해 활성화되지 않게 해 주기 위해 선언한 변수이다.
SpriteRenderer spriteRenderer는 현재 스프라이트에서 sprite변수에 선언되어있는 스프라이트로 바뀌주기 위해 선언된 변수이다.
spriteRenderer와 isChange를 초기화 해준다.
아직 스프라이트가 변하지 않은 상태에서 플레이어가 오브젝트에 다가가게 되면 오브젝트를 비활성화 조건이 적혀있는 텍스트가 활성화된다.
만약 플레이어가 오브젝트에서 벗어나게 되면 비활성화 조건이 적혀있는 텍스트를 비활성화해준다.
자기 자신을 비활성화시켜준다.
비활성화 조건이 적혀있는 텍스트를 bool 타입 인자를 받아 활성화할지 비활성화할지 정하는 함수이다.
현재 적용되어있는 스프라이트를 sprite에 저장되어있는 스프라이트로 변경해준다.
그리고 스프라이트가 변경되었으므로 isChange를 true로 바꿔준다.
그리고 마지막으로 Invoke 함수를 호출하여 1.5초 뒤에 오브젝트를 비활성화 시켜준다.
아래 코드는 플레이어 스크립트에서 작성한 코드이다.
만약 플레이어가 Box 태그를 가진 오브젝트 속에 있는 상태에서 Z키가 눌리게 된다면 오브젝트의 텍스트를 비활성화시켜주고, 오브젝트의 스프라이트를 바꿔준다.
'Unity' 카테고리의 다른 글
[Unity] 오브젝트에 능력 넣어주기 (0) | 2020.03.28 |
---|---|
[Unity] Prefab을 이용한 랜덤 뽑기 (0) | 2020.03.27 |
[Unity] TextMesh를 이용한 오브젝트 위에 글씨 만들기 (0) | 2020.03.25 |
[Unity] Mathf.Cos(), Mathf.Sin()을 이용한 무작위 경계 함수 만들기 (0) | 2020.03.24 |
[Unity] RaycastHit2D를 이용한 플레이어 점프 구현 (0) | 2020.03.23 |