【Cocos2d-x 3.0学习笔记】触摸

【Cocos2d-x 3.0学习笔记】触摸,第1张

概述http://blog.csdn.net/lnb333666/article/details/16857637 //触屏事件   virtual bool ccTouchBegan(Touch * touch,Event * event);   virtual void ccTouchMoved(Touch * touch,Event * event);   virtual void ccTouc

http://blog.csdn.net/lnb333666/article/details/16857637

//触屏事件 virtualboolcctouchBegan(touch*touch,Event*event); virtualvoIDcctouchmoved(touch*touch,Event*event); virtualvoIDcctouchended(touch*touch,226); color:inherit; line-height:18px"> //生命周期 virtualvoIDonEnter(); virtualvoIDonExit(); voIDtouchdemo::onEnter() { //开启触屏监听 Director::sharedDirector()->gettouchdispatcher()->addTargetedDelegate(this,false); Layer::onEnter();//一定不要忘了 } voIDtouchdemo::onExit() { //关闭触屏监听 Director::sharedDirector()->gettouchdispatcher()->removeDelegate(this); Layer::onExit();//一定不要忘了 } =========================================================================================== 添加委托 addStandardDelegate(); 开启多点触控(不写没有效果哦) settouchEnabled(); 触屏事件: 1.注册多点触控 virtualvoIDregisterWithtouchdispatcher(voID); 2.当用户第一次触碰手机屏幕时响应的回调函数 virtualvoIDcctouchesBegan(Set*touchs,85); line-height:18px"> 3.当用户手指在手机屏幕上滑动时响应的回调函数 virtualvoIDcctouchesMoved(Set*touchs,226); color:inherit; line-height:18px"> 4.当用户手指在离开手机屏幕上时响应的回调函数 virtualvoIDcctouchesEnded(Set*touchs,0); background-color:inherit">//写上多点触控的回调函数 virtualvoIDcctouchesBegan(Set*set,Event*e); virtualvoIDcctouchesMoved(Set*set,Event*e); virtualvoIDcctouchesEnded(Set*set,0); background-color:inherit">//写上生命周期函数 注册监听 voIDtouchsdemo::registerWithtouchdispatcher(voID) //注册监听 Director::sharedDirector()->gettouchdispatcher()->addStandardDelegate(this,0); voIDtouchsdemo::cctouchesBegan(Set*set,Event*e) SetIteratoriter=set->begin(); //这里的iter相当于系统分配的数字, //set->begin()获取第一个数字 //set->end()就是最后一位 for(;iter!=set->end();iter++){ //这里呢,就是单点处理了,可以理解为把多点拆成单点来做 Ctouch*mytouch=(touch*)(*iter); Pointcp=mytouch->getLocation(); //这里我们对5个触摸块进行处理 if(mytouch->getID()==0){ Sprite*sp=(Sprite*)this->getChildByTag(1); sp->setposition(cp); if(mytouch->getID()==1){ Sprite*sp=(Sprite*)this->getChildByTag(2); if(mytouch->getID()==2){ Sprite*sp=(Sprite*)this->getChildByTag(3); if(mytouch->getID()==3){ Sprite*sp=(CCSprite*)this->getChildByTag(4); if(mytouch->getID()==4){ Sprite*sp=(Sprite*)this->getChildByTag(5); voIDtouchsdemo::cctouchesEnded(Set*set,CCEvent*e) CCSetIteratoriter=set->begin(); inta[6]={0,0};//创建一个数组 touch*mytouch=(touch*)(*iter); Pointcp=mytouch->getLocation(); //这里我们对5个触摸块进行处理 if(mytouch->getID()==0){ a[1]=1; a[2]=1; if(mytouch->getID()==2){ a[3]=1; a[4]=1; if(mytouch->getID()==4){ a[5]=1; for(inti=1;i<=5;i++){<> if(a[i]==1){ Sprite*sp=(Sprite*)this->getChildByTag(i); sp->runAction(Moveto::create(5,ccp(30,30))); //实现生命周期函数 voIDtouchsdemo::onEnter() Layer::onEnter(); voIDtouchsdemo::onExit() Layer::onExit(); } 总结

以上是内存溢出为你收集整理的【Cocos2d-x 3.0学习笔记】触摸全部内容,希望文章能够帮你解决【Cocos2d-x 3.0学习笔记】触摸所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1060941.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存