做网站维护学什么编程语言,wordpress 自己做主页,建网站用哪个好,自动生成作文的网站当用户点击再松开后才会响应菜单事件#xff0c;而在游戏中有些游戏须要玩家点击后就处理事件。如玩坦克大战的时候#xff0c;玩家是点击一下就发射子弹。并是点击松手后发射子弹#xff0c;在Cocos2d-X中没有这样的消息。以下就通过自己定义的方式实现当用户点击后就调用处… 当用户点击再松开后才会响应菜单事件而在游戏中有些游戏须要玩家点击后就处理事件。如玩坦克大战的时候玩家是点击一下就发射子弹。并是点击松手后发射子弹在Cocos2d-X中没有这样的消息。以下就通过自己定义的方式实现当用户点击后就调用处理函数 程序当用户点击后处理消息松开手后处理结束 首先自己定义一个MyMenu类用于处理点击事件 /*1注冊定时器函数在定时器处理函数中调用m_pSelectItem-active()
*/
class MyMenu : public CCMenu
{
public:CREATE_FUNC(MyMenu);//当手按下的时候bool ccTouchBegan(CCTouch* touch, CCEvent* ev){bool bRet CCMenu::ccTouchBegan(touch, ev);if (bRet){// 注冊定时器函数scheduleUpdate();return true;}return false;}void ccTouchEnded(CCTouch* touch, CCEvent* ev){//定时器停止计时unscheduleAllSelectors();}//每次帧循环都会被调用//dt上一次帧循环到这次帧循环所花的时间void update(float dt){if (this-m_pSelectedItem m_eState kCCMenuStateTrackingTouch){this-m_pSelectedItem-activate();}}
}; 在Menu.h中加入以下的代码(代码中包括了自己定义的MyMenu类) #ifndef __Menu_H__
#define __Menu_H__#include cocos2d.h
USING_NS_CC;class Menu : public CCLayer
{
public:virtual bool init(); static CCScene* scene();//响应菜单事件void menuHandler(CCObject*);CREATE_FUNC(Menu);
};/*1注冊定时器函数在定时器处理函数中调用m_pSelectItem-active()
*/
class MyMenu : public CCMenu
{
public:CREATE_FUNC(MyMenu);//当手按下的时候bool ccTouchBegan(CCTouch* touch, CCEvent* ev){bool bRet CCMenu::ccTouchBegan(touch, ev);if (bRet){// 注冊定时器函数scheduleUpdate();return true;}return false;}void ccTouchEnded(CCTouch* touch, CCEvent* ev){//定时器停止计时unscheduleAllSelectors();}//每次帧循环都会被调用//dt上一次帧循环到这次帧循环所花的时间void update(float dt){if (this-m_pSelectedItem m_eState kCCMenuStateTrackingTouch){this-m_pSelectedItem-activate();}}
};#endif // Menu
在Menu.cpp中加入以下的代码 #include Menu.hCCScene* Menu::scene()
{CCScene *scene CCScene::create();Menu *layer Menu::create();scene-addChild(layer);return scene;
}bool Menu::init()
{//初始化父类层CCLayer::init();//得到窗体的尺寸CCSize winSize CCDirector::sharedDirector()-getWinSize();//创建菜单项CCMenuItem* item CCMenuItemFont::create(Click Me, this, menu_selector(Menu::menuHandler));//使用自己定义的MyMenu创建菜单MyMenu* menu MyMenu::create();//加入菜单addChild(menu);//加入菜单项menu-addChild(item);return true;
}//响应菜单事件
void Menu::menuHandler(CCObject*)
{CCLog(I am Clicked);
} 运行结果 当点中“Click Me”不松手会一直打印“ Clicked”直到松手 转载于:https://www.cnblogs.com/jzdwajue/p/6929359.html