cocos2d-x3.2单点触摸

cocos2d-x3.2单点触摸,第1张

概述1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 //GameScene.h #include "cocos2d.h" USING_NS_CC;   class  GameScene :  public  cocos2d::Layer { public :      static  cocos2d::Scene* createScene();     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 //GameScene.h #include"cocos2d.h" USING_NS_CC; class GameScene: public cocos2d::Layer { : static cocos2d::Scene*createScene(); virtual bool init(); ontouchBegan(touch*touch,Event*unused_event); virtual voID ontouchmoved(touch*touch,Event*unused_event); ontouchended(touch*touch,Event*unused_event); menuCallback(cocos2d::Ref*pSender); CREATE_FUNC(GameScene); };



? 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
//GameScene.cpp //功能:运行点击屏幕,控制台显示触点坐标,并将图标移动到触点位置 #include"GameScene.h" USING_NS_CC; @H_649_301@ cocos2d::Scene*GameScene::createScene() { auto scene=Scene::create(); //创建一个场景 layer=GameScene::create(); //创建一个图层 scene->addChild(layer); return scene; } //初始化当前的图层 GameScene::init() { if (!Layer::init()) //初始化父类 return false ; //获取屏幕大小 SizevisibleSize=Director::getInstance()->getVisibleSize(); //添加一个图片精灵 sprite=Sprite::create( "OnePIEce_1.png" ); sprite->setposition(Vec2(visibleSize.wIDth/2,visibleSize.height/2)); this ->addChild(sprite); sprite1=Sprite::create( "Flag_1.png" ); sprite1->setposition(Vec2(visibleSize.wIDth/2,visibleSize.height/2)); sprite1->setTag(12); @H_782_404@->addChild(sprite1); //1.注册监听事件对象 Listener=EventListenertouchOneByOne::create(); //单点触摸 //autoListener=EventListenertouchAllAtOnce::create();//多点触摸 //settouchEnabled(true);//3.0版本已经被弃用 //2.定义监听对象的回调方法 Listener->ontouchBegan=CC_CALLBACK_2(GameScene::ontouchBegan, ); Listener->ontouchmoved=CC_CALLBACK_2(GameScene::ontouchmoved,monospace!important; border:0px!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; outline:0px!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; vertical-align:baseline!important; wIDth:auto!important; Font-size:1em!important; min-height:inherit!important">); Listener->ontouchended=CC_CALLBACK_2(GameScene::ontouchended,monospace!important; border:0px!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; outline:0px!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; vertical-align:baseline!important; wIDth:auto!important; Font-size:1em!important; min-height:inherit!important">); //3.在事件分发器中注册 _eventdispatcher->addEventListenerWithSceneGraPHPriority(Listener,monospace!important; border:0px!important; bottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.1em!important; outline:0px!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; vertical-align:baseline!important; wIDth:auto!important; Font-size:1em!important; min-height:inherit!important">); true ; } //触摸事件函数(内部已创建,这里重新编写) GameScene::ontouchBegan(touch*touch,Event*unused_event) { //touch->getLocation();//获得的是OpenGL坐标 //autop1=touch->getLocationInVIEw();//获得的是UI坐标 //autop2=Dirctor::getInstance()->convertToGL(p1);//转换成OpenGL坐标 cclOG( "touchBeganx:%lf,y:%lf" ,touch->getLocation().x,touch->getLocation().y); sprite= ->getChildByTag(12); //通过标识获取精灵 //sprite->setposition(Vec2(touch->getLocation().x,touch->getLocation().y)); sprite->runAction(Moveto::create(0.5f,Point(touch->getLocation().x,touch->getLocation().y))); ; } GameScene::ontouchmoved(touch*touch,Event*unused_event) { //图标随鼠标一起移动 //autosprite=this->getChildByTag(12);//通过标识获取精灵 } GameScene::ontouchended(touch*touch,Event*unused_event) {
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 //GameScene.h #include"cocos2d.h" USING_NS_CC; class GameScene: public cocos2d::Layer { : static cocos2d::Scene*createScene(); virtual bool init(); virtual voID menuCallback(cocos2d::Ref*pSender); CREATE_FUNC(GameScene); };



? 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
//GameScene.cpp //功能:运行点击屏幕,控制台显示触点坐标,并将图标移动到触点位置 #include"GameScene.h" USING_NS_CC; @H_649_301@ cocos2d::Scene*GameScene::createScene() { auto scene=Scene::create(); //创建一个场景 layer=GameScene::create(); //创建一个图层 scene->addChild(layer); return scene; } //初始化当前的图层 GameScene::init() { if (!Layer::init()) //初始化父类 return false ; //获取屏幕大小 SizevisibleSize=Director::getInstance()->getVisibleSize(); //添加一个图片精灵 sprite=Sprite::create( "OnePIEce_1.png" ); this ->addChild(sprite); sprite1=Sprite::create( "Flag_1.png" ); sprite1->setTag(12); @H_782_404@->addChild(sprite1); //1.注册监听事件对象 Listener=EventListenertouchOneByOne::create(); //单点触摸 //autoListener=EventListenertouchAllAtOnce::create();//多点触摸 //settouchEnabled(true);//3.0版本已经被弃用 //2.定义监听对象的回调方法 ); ); ); //3.在事件分发器中注册 ); true ; } //触摸事件函数(内部已创建,这里重新编写) { //touch->getLocation();//获得的是OpenGL坐标 //autop1=touch->getLocationInVIEw();//获得的是UI坐标 //autop2=Dirctor::getInstance()->convertToGL(p1);//转换成OpenGL坐标 cclOG( ->getChildByTag(12); //通过标识获取精灵 ; } 总结

以上是内存溢出为你收集整理的cocos2d-x3.2单点触摸全部内容,希望文章能够帮你解决cocos2d-x3.2单点触摸所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)