Какой EventDispatcher использовать в cocos2d? Node::EventDispatcher или Director::EventDispatcher?
Какой EventDispatcher использовать в cocos2d? Node::EventDispatcher или Director::EventDispatcher? После ссылки на официальную документацию как класса Director, так и класса Node Ссылка на класс директора Cocos2d-x Ссылка на класс узла Cocos2d-x я немного смущен, в чем разница между использованием
Director::getInstance()->getEventDispatcher() // consider this is used inside a class which is derived from Node class
или
this->getEventDispatcher() // consider this refers to a class derived from Node class
1 ответ
Решение
Оба одинаковы. this->getEventDispatcher() вызывает функцию CCNode getEventDispatcher (). Он возвращает _eventDispatcher.
_eventDispatcher = _director->getEventDispatcher(); // Check CCNode.cpp
Итак, эти 3 такие же
Director::getInstance()->getEventDispatcher()->addEventListenerWith..
this->getEventDispatcher()->addEventListenerWith..
_eventDispatcher->addEventListenerWith..
ПРИМЕЧАНИЕ: я только что проверил Cocos2d-x 4.0