버그 해결을 위한 모든 질문을 던져
0 votes
123 views
메인 스테이지 씬에서 키로 움직이다가

ESC키를 누르면 레이어 클래스를 통해 메뉴창이 활성화되고,

메인 스테이지 씬 이벤트 리스너말고 레이어 클래스 내에 존재하는 키보드 이벤트 리스너만 사용하고 싶습니다.

계속 둘이 같이 작동하네요.

 

아니면 pushScene을 해서 레이어처럼 배경을 투명하게 해서 뒤에 씬이 깔리도록 할 수 있나요?
asked (10 point) , 123 views

4 answers

0 votes
cocos2d 는 잘 모르지만 어떤 키 input event 가 UI 계층구조를 타고 오르거나 내려오는걸 event bubbling/tunneling 이라고 합니다.

cocos2d 도 UI 프레임웍이 있다면, 아마 이걸 제어하는 방법이 이미 있을겁니다.

다른 사람들도 비슷한 문제를 경험했을 가능성이 높으니 저 키워드로 구글 검색 한번 해보걸 추천 합니다.
answered (90 point)
0 votes
아마도 이벤트 객체가 버블링을 중단 시키기 위해 stopPropagation 같은 메소드를 가지고 있을 것으로 생각됩니다.
관련 키워드로 검색해 보시는 것을 추천 드립니다.

아마, 안전성 있게 참조만할 코드가 많이 있을 겁니다.
answered (8 point)
0 votes
UI 이벤트 처리하는 기법은

안드로이드 코드 참고하시면 참 좋습니다 @_@;

그대로 사용할 순 없겠지만 설계하는방법을 배울 수 있어요
answered (78 point)
0 votes
윈도우 환경이신거 같은데 일단 안드로이드 환경에서 백키 onKeyReleased 에서 이벤트 받는 걸 가정하고 글 쓰겠습니다.

안드로이드 백키 제어 할 때 전 두가지 방법을 사용합니다.

 

첫번째

최상위 씬에서 onKeyReleased 관리하는 방식

메인에서 하위 레이어들 열린 여부 확인 후 보이는지 확인해서 해당 레이어가 있으면 해당레이어 동작하게 하고

리턴처리하는 방식이 있습니다.

 

두번째

onKeyReleased 씬/레이어마다 구현해서, 메인에서 메뉴창 띄울때 메뉴창 true 메인(부모) false 처리 하면서

씬/레이어 마다 setKeyboardEnabled 로 키 받을지 키고 끌수 있습니다.

물론 레이어 종료 될때 부모껀 다시 true로 바꿔줘야겠죠
answered (15 point)

버그 해결을 위해 도움을 구하고, 도움을 주세요. 우리는 그렇게 발전합니다.

throw bug 는 프로그래밍에 대한 전분야를 다룹니다. 질문,논의거리,팁,정보공유 모든 것이 가능합니다. 프로그래밍과 관련이 없는 내용은 환영받지 못합니다.

380 질문
510 answers
527 댓글
8,485 users