智慧 + 毅力 = 无所不能

正确性、健壮性、可靠性、效率、易用性、可读性、可复用性、兼容性、可移植性...

导航

随笔分类 -  Cocos2d-x 交互

摘要:转自:http://www.cnblogs.com/jiackyan/archive/2013/04/14/3019893.html//重载virtual bool ccTouchBegan(CCTouch *touch, CCEvent *pEvent);virtual void ccTouchMoved(CCTouch *touch, CCEvent *pEvent);virtual void ccTouchEnded(CCTouch *touch, CCEvent *pEvent);virtual void onEnter();virtual void onExit(); //添加支持触 阅读全文

posted @ 2013-07-15 18:38 Bill Yuan 编辑

摘要:转自:http://www.cnblogs.com/lancidie/archive/2013/04/01/2993890.html我们常常需要判断用户的点击操作是否落于某个sprite之上,进而让这个sprite做出响应。但是如果我们通过继承CCSprite类来实现自己的Sprite类的时候,产生的视图尺寸会充满屏幕。多个Sprite在同一层的时候会发生重叠,导致我们通过回调函数传递进的touch点是相对于最上层Sprite来说的。好在我们可以通过CCDirector::sharedDirector()->convertToGL(CCTouch* touch->locationI 阅读全文

posted @ 2013-07-15 17:50 Bill Yuan 编辑

摘要:转自:http://www.cnblogs.com/fjut/archive/2012/04/28/2475693.html//ccTouchBegan必须实现,否则会报错bool PicScan::ccTouchBegan(CCTouch* pTouch, CCEvent* event){ return true;} void PicScan::ccTouchMoved(CCTouch *touch, CCEvent *event){ //获得触摸点初始坐标 CCPoint beginLoc = touch->locationInView(touch->view()); ... 阅读全文

posted @ 2013-07-15 17:44 Bill Yuan 编辑

摘要:转自:http://www.2cto.com/kf/201207/144656.html 蒙板,局部高亮可点的用处大多是在新手引导的时候,引导玩家一步一步的走游戏的操作流程。 之前写了一个cocos2d-iphone的版本,因为设置成圆角的,比较美观,如果不用圆角,可以直接把Sprite改成layercolor,这个版本的缺点是每步都需要美术出一个资源(如果每步的点击区域大小不一样的话),现在这个版本是直接设置大小即可。 这个版本的设计思路是,用layercolor,先把高亮的区域设置好了,然后在layercolor的四个角加上一个小圆角的sprite,这样就不用每步都需要美术出资源了。... 阅读全文

posted @ 2013-07-15 17:04 Bill Yuan 编辑

摘要:转自:http://blog.sina.com.cn/s/blog_61ece099010187tl.html手势之前也发过一篇,但是我感觉那个还不够轻巧。 而且大多数游戏里面不会有那么复杂的手势,今天给大家分享下只有简单方向、圆形手势的代码。virtual void ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent);virtual void ccTouchesMoved(CCSet *pTouches, CCEvent *pEvent);virtual void ccTouchesEnded(CCSet *pTouches, CCEvent * 阅读全文

posted @ 2013-07-11 09:34 Bill Yuan 编辑

摘要:转自:http://home.cnblogs.com/group/topic/57609.htmlcocos2d坐标系(OPenGL坐标系):以左下角为原点,x向右,y向上屏幕坐标系(android,ios,win32系统的坐标系):以左上角为原点,X轴向右为正,y轴向下为正在cocos2dx的test例子中:void TestController::ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent){ CCSetIterator it = pTouches->begin(); CCTouch* touch = (CCTouch*)(*... 阅读全文

posted @ 2013-07-11 09:28 Bill Yuan 编辑

摘要:转自:http://blog.csdn.net/onerain88/article/details/7550009一般经常用到的触屏的情况有两种:一种是Layer统一接收触屏消息,然后由程序根据需要分发给不同位置的精灵;另一种情况是自定义一个可以接收触屏消息的Sprite,比如类似于Button功能的Sprite,这就需要在定义Sprite的时候就要定义好触屏所触发的操作!下面就两种情况分别记录一下基本用法:1.Layer接收触屏消息用法很简单,只需要覆写父类的4个方法(可以根据需要,但是ccTouchBegan()是必须要覆写的,并且其返回值对触屏事件的传递有影响,后面会总结),并在init 阅读全文

posted @ 2013-06-25 16:47 Bill Yuan 编辑

摘要:如何让自定义Layer触发触摸事件?bool LayerXXX::init(){ this->setTouchEnabled(true); CCTouchDispatcher* td = CCDirector::sharedDirector()->getTouchDispatcher(); td->addTargetedDelegate(this, 0, true); //kCCMenuHandlerPriority - 10 // ...}CCTouchDispatcher是管理cocos2d-x中所有Touch事件派发的类, CCTouchDispatcher中包含了两个 阅读全文

posted @ 2013-06-25 14:33 Bill Yuan 编辑

点击右上角即可分享
微信分享提示