2016-06-03 2 views
3

내 프로젝트에는 많은 버튼이 필요합니다.cocos2d-x에서 스프라이트 버튼을 만드는 방법은 무엇입니까?

auto btn = cocos2d::ui::Button::create("images/bone01.png","images/bone02.png",""); 

나는 그것이 시스템 비용의 측면에서 매우 낭비라고 생각 :하지만 수 있도록 각 버튼에 대한, 내가 이런 같은 버튼을하더라도 모든 이미지를로드 할 수 있습니다. 하나의 texture2d * 만 만들고 버튼을 만들 때 사용하고 싶습니다. 키워드 'cocos2d-x 버튼 텍스처 ...'로 여러 번 검색했지만 찾을 수있는 답변이 없습니다. Button을 만들 때 텍스처를 사용하는 방법이 있습니까? 아니면 touchEventListner 및 함수 매개 변수가 포함 된 Sprite 클래스에서 상속받은 클래스를 만들어야합니까? 그렇다면 어떻게하면 다음과 같은 메서드를 사용하여 함수를 만들 수 있습니다 :

btn->addTouchEventListener(CC_CALLBACK_0(HelloWorld::touchBoard, this)); 

작은 예제가 괜찮을 것입니다.

===============================

싱글 톤 클래스를 만들고 모든 버튼을 넣고 필요할 때 사용하려고했습니다.

auto appleBtn = DataClass::getInstance()->_appleBtn; 

오류는 다음과 같이 발생합니다 :

Expression : child->_parent == nullptr 

내가 보관 사용하여이 방법으로 성공할 수 생성 될 때 버튼이 오토 릴리즈되어 있기 때문에, 그래서 만약 내가 다른 cpp를 같이 사용 실패() & release(),하지만 나는 더 안전한 방법을 사용하는 것이 좋습니다.

답변

1

cocos2d에 대한 경험이 없지만이 텍스처를 메모리에 한 번만로드하고 모든 버튼에이 정보를 사용한다고 가정합니다. 버튼 클래스를 만들 수 없으며이 클래스에서 같은 버튼을 모두 상속 받습니까? 다시 나는 cocos2d가 어떻게 작동하는지 아무 단서도 없다. 그러나 다른 게임 엔진이 가능해야한다.

+0

나는 cocos2d-x에서 매우 새로운 기능을 가지고 있기 때문에 작동하지 않을 것이다. 나는 곧 그것을 시도 할 것이다. – dessert

+0

나는 그것을 시도하고 실패했다 ;-(하지만 어쨌든 조언 주셔서 감사합니다. – dessert

관련 문제