일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- SDLC
- Waterfall
- 유니티
- frequency-domain spectrum analysis
- SJF
- DSP
- STCF
- 컴퓨터 네트워크
- DP
- 게임 개발
- OSI 7계층
- unity
- link layer
- Security
- MLFQ
- information hiding
- AINCAA
- MAC
- stride
- 유스케이스
- 운영체제
- 배경 그림
- FIFO
- 메카님
- Trap
- 게임개발
- protection
- Unity #Indie Game
- OWASP
- polymorphism
Archives
- Today
- Total
다양한 기록
Parrying Sword #24 : [기획] 상호작용(메뉴) 본문
최근 일이 조금 있어서 개발을 못하고 있었습니다.
다시 재개합니다.
플레이어와 다른 오브젝트와의 상호작용, 그 중에서도 대화나 메뉴 선택과 같은 시스템이 필요해서 만들어 보았습니다.
처음 생각으로는 각각의 오브젝트에 Update를 따로 붙여서 입력이 들어오면 그에 맞춰 작동하게 하면 되지 않을까 했지만,
안그래도 몬스터들 각각의 AI를 위해 스크립트들이 계속 돌아가는 상황에
너무 하드웨어에 부하가 심할 것 같아 위와 같은 방식으로 바꿨습니다.
평소에 인풋을 받는 것은 플레이어만 있으면 충분합니다.
메뉴가 열렸을 때만 인풋을 따로 받으면 됩니다.
클래스를 따로 만들어 인풋을 따로 받고, Stage_Interaction 클래스에서 virtual로 정의해둔 메소드를 사용합니다.
실제로 작동하는 것은 서브 클래스에서 정의된 내용일 것입니다. 스트라티지 패턴이라 생각하면 됩니다.
그런데 현재 상호작용해야 하는 오브젝트가 무엇인지 알 방법이 필요합니다.
그래서, 오브젝트에 트리거인 컬라이더를 추가하고, 컬라이더를 만나면 playerMain에 어떤 오브젝트인지 정보를 전달해주고,
컬라이더를 나가면 해당 정보를 제거하는 방식을 사용하였습니다.
메뉴 매니저는 playerMain에서 정보(Stage_Interaction의 서브 클래스 타입)를 얻고,
Stage_Interaction로 정의된 오브젝트에 해당 정보를 업캐스팅하여 사용합니다.
'유니티 엔진 > Parrying Sowrd' 카테고리의 다른 글
Parrying Sword #26 : [기획][프로그래밍] 화면 가장자리에 나침반 화살표 만들기 (0) | 2023.05.18 |
---|---|
Parrying Sword #25 : [기획][프로그래밍] 씬 간 이동 및 페이드 인, 페이드 아웃, 상호작용(메뉴) 실제 적용 (0) | 2023.05.11 |
Parrying Sword #23 : [프로그래밍] 맵 이동 장치 구현 (0) | 2023.04.03 |
Parrying Sword # 22 : [아트] 연금술사, 게이트 (0) | 2023.04.02 |
Parrying Sword #21 : [아트][기획] 데카시스 공격 이펙트 등 (0) | 2023.03.31 |