2017-03-22 4 views
-1

나는 Phaser를 사용하여 Fruit Ninja 자습서를 수행 중입니다. 주 메뉴의 경우 작성자가 사용했습니다Phaser 키보드 이벤트를 터치 이벤트로 변환하는 방법

if (this.game_state.game.input.keyboard.isDown(Phaser.Keyboard.SPACEBAR)) { 
    this.menu_items[this.current_item_index].select(); 

태블릿/휴대 전화에서 사용할 수 있도록 터치 이벤트를 사용하여 동일한 로직을 어떻게 구현합니까? 나머지 스 와이프 논리는 메뉴를 제외하고는 터치를 사용합니다. 나는 내가 어떻게 바꿀 수 있는지 궁금했다.

답변

0

이것은 단순한 "단순한 것"이상일 것 같습니다. 게시 한 코드 스 니펫 (snippet)은 어떤 메뉴 항목이 강조 표시되어 있는지 (예 : 화살표 키를 사용하여) 어떤 종류의 현재 색인을 유지합니다.

예를 들어, 메뉴가 스프라이트로 구성된 경우 터치 이벤트를 각 스프라이트에 첨부 할 수 있습니다. 메뉴에 exitGameMenuItem이라는 스프라이트가 있다고 가정 해보십시오. 입력을 활성화하고 onInputDown 이벤트 콜백을 첨부해야합니다 (마우스와 터치에서 모두 작동합니다).

exitGameMenuItem.inputEnabled = true; 
exitGameMenuItem.events.onInputDown.add(function() { 
    // call the exit game function here 
}, this); 

또한이 같은 (함수에 포장하지 않고) 직접 콜백을 추가 할 수 있습니다

exitGameMenuItem.events.onInputDown.add(this.exitGame, this); 

를 (이 같은 상태에서 exitGame() 기능을 가지고 있다고 가정).

+0

예, 코드는 주 메뉴 항목간에 전환하기 위해 색인을 사용합니다. 그들은 화살표 키로 바뀌며 스페이스 바를 누르면 현재 선택된 메뉴 항목을 선택합니다. 스페이스 바 대신 터치 이벤트를 사용하여 메뉴 항목을 선택하는 방법이 있습니까? – user1752240

+0

예, 설명했습니다. –

+0

Phaser 프레임 워크를 사용하여 어떻게 작동합니까? – user1752240