Vì vậy, tôi đang cố gắng tạo một ứng dụng đơn giản bằng cách sử dụng phiên bản mới nhất của cocos2d-x và vì một lý do nào đó không thể kết nối với tôi. Dưới đây là lớp học của tôi:Không thể liên lạc để hoạt động trong ứng dụng cocos2d-x đa nền
class GameLayer : public cocos2d::Layer
{
public:
static cocos2d::Layer* createLayer();
void update(float dt);
virtual bool init();
CREATE_FUNC(GameLayer);
private:
bool onTouchBegan(cocos2d::Touch* touch, cocos2d::Event* event);
void onTouchMoved(cocos2d::Touch* touch, cocos2d::Event* event);
void onTouchEnded(cocos2d::Touch* touch, cocos2d::Event* event);
};
cocos2d::Layer* GameLayer::createLayer()
{
GameLayer *layer = GameLayer::create();
return layer;
}
bool GameLayer::init()
{
if (!cocos2d::Layer::init())
{
return false;
}
this->schedule(schedule_selector(GameLayer::update));
this->setTouchEnabled(true);
return true;
}
void GameLayer::update(float dt)
{
}
bool GameLayer::onTouchBegan(cocos2d::Touch* touch, cocos2d::Event* event)
{
cocos2d::log("You touched %f, %f", touch->getLocationInView().x, touch->getLocationInView().y);
return true;
}
void GameLayer::onTouchMoved(cocos2d::Touch* touch, cocos2d::Event* event)
{
}
void GameLayer::onTouchEnded(cocos2d::Touch* touch, cocos2d::Event* event)
{
}
tôi nhận thấy khi tôi gọi vào setTouchEnabled
cuộc gọi mà một lá cờ nội bộ gọi _running
được thiết lập để sai vì vậy nó không thực sự đăng ký các sự kiện liên lạc của tôi. Tuy nhiên tôi dường như không thể hiểu tại sao lại như thế. Tôi có gọi những thứ không chính xác hoặc sai thứ tự không?
Có vẻ như 'registerWithTouchDispatcher' không còn được dùng nữa, và' getTouchDispatcher() 'không còn tồn tại trên' Director' bất kỳ ý tưởng gì tương đương bây giờ? –
Vâng, API đã được cập nhật lại. :) Vui lòng xem câu trả lời cập nhật của tôi. – nomann
Cảm ơn sự giúp đỡ, tôi đang sử dụng phiên bản 3.0 đã được chỉ trên trang chính của họ không phải những gì đã được trên github (mà thay đổi tất cả mọi thứ là tốt). Vì vậy, phiên bản của tôi không có eventListener. Tôi sẽ cố gắng nâng cấp lên những gì họ có trong github, tôi sẽ giữ cho bạn cập nhật nếu tôi có thể làm cho nó hoạt động. –