Cocos2dx 3.0 过渡篇(十四)用touch拖动女主打败小三!
来源:互联网 发布:礼记中庸好学近乎知 编辑:程序博客网 时间:2024/05/22 12:56
首先我要说明的是:这是一篇女主与小三争夺男主的故事!该故事场面规模宏大,剧情环环紧扣,堪称苦情剧中的穿越剧,
爱情公寓里的爱森公寓...
上集剧情介绍:http://blog.csdn.net/start530/article/details/20153367
-------------------------------------
boy 和 girl 甜蜜的交往了两年,但是,由于boy是一个文理双修的优秀男儿,小三不得不跳出来了!小三设计出种种阴谋
来拆散boy和girl。最后他俩大吵了一架。在冷战期间,小三强势入内,伴随boy左右!女主发现这个情况后,意识到所有一切都是小三搞的鬼,但她又拉不下脸来去和boy道歉。而我们的故事也就是从这里开始的。
主线剧情:拖动girl移动到男主旁的红色框框内。
分线剧情:girl一进入红框,就能立马被boy文理双修的气质所吸引,飞到他..身边。
分线剧情:按照剧情安排,小三必须在女主回来的时候马上离开!
-------------------------------------------------------
实现过程:
2、创建boy,girl,girl_3
3、接收监听,touchBegan
4、拖动女主移动
5、判断女主移动的最后位置,如果在红框,则被吸引,同时小三离开。如果不在,则女主回原地,小三不动。
--------------------------------------------------------
这个故事告诉我们,情侣之间一定要珍惜彼此的感情,我们并不是在演三国,分分合合终究是有风险的。一个疏忽,小三自然就出现了。
本博客纯属娱乐;
转载请注明来自star特530:http://blog.csdn.net/start530/article/details/20319009
爱情公寓里的爱森公寓...
上集剧情介绍:http://blog.csdn.net/start530/article/details/20153367
-------------------------------------
boy 和 girl 甜蜜的交往了两年,但是,由于boy是一个文理双修的优秀男儿,小三不得不跳出来了!小三设计出种种阴谋
来拆散boy和girl。最后他俩大吵了一架。在冷战期间,小三强势入内,伴随boy左右!女主发现这个情况后,意识到所有一切都是小三搞的鬼,但她又拉不下脸来去和boy道歉。而我们的故事也就是从这里开始的。
主线剧情:拖动girl移动到男主旁的红色框框内。
分线剧情:girl一进入红框,就能立马被boy文理双修的气质所吸引,飞到他..身边。
分线剧情:按照剧情安排,小三必须在女主回来的时候马上离开!
-------------------------------------------------------
实现过程:
1、添加触摸监听事件:
auto listener = EventListenerTouchOneByOne::create();//创建一个触摸监听(单点触摸)listener->onTouchBegan = CC_CALLBACK_2(HelloWorld::onTouchBegan, this);//指定触摸的回调函数listener->onTouchEnded = CC_CALLBACK_2(HelloWorld::onTouchEnded, this);listener->onTouchMoved = CC_CALLBACK_2(HelloWorld::onTouchMoved, this);_eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this);//将listener放入事件委托中
2、创建boy,girl,girl_3
boy = Sprite::create("boy.png");//创建男主boy->setPosition(Point(400,370));this->addChild(boy,1);girl_1 = Sprite::create("girl_1.png");//创建女主girl_1->setPosition(Point(250,250));this->addChild(girl_1,1);girl_3 = Sprite::create("girl_3.png");//创建小三girl_3->setPosition(Point(450,370));this->addChild(girl_3,1);
3、接收监听,touchBegan
bool HelloWorld::onTouchBegan(Touch* touch, Event *event){ return true;//返回true表示接收触摸事件}
4、拖动女主移动
void HelloWorld::onTouchMoved(Touch* touch, Event *event){auto beginPos = touch->getLocationInView();//获得触摸位置beginPos = Director::getInstance()->convertToGL(beginPos);//坐标转换auto girlPos = girl_1->getPosition();//获取女主的位置auto girlSize = girl_1->getContentSize();//获取女主的三围(大小)//针对女主的坐标和三围定制一个凶..框框auto rect = Rect(girlPos.x - girlSize.width/2,girlPos.y - girlSize.height/2,girlSize.width + 10,girlSize.height + 10);if(rect.containsPoint(beginPos))//判断触点是否在女主身上!{auto endPos = touch->getPreviousLocationInView();//获取触摸的前一个位置endPos = Director::sharedDirector()->convertToGL(endPos);//转换坐标auto offset = Point(beginPos-endPos);//获取offset,2.14是用ccpSub,3.0后直接用 - 号就可以auto nextPos = Point(girlPos + offset);//获取女主的下一步计划,2.14用的是ccpAdd,girl_1->setPosition(nextPos);} }
5、判断女主移动的最后位置,如果在红框,则被吸引,同时小三离开。如果不在,则女主回原地,小三不动。
void HelloWorld::onTouchEnded(Touch* touch, Event *event){auto lastPos = touch->getLocationInView();lastPos = Director::getInstance()->convertToGL(lastPos);auto rect = Rect(400,300,100,150);//建立一个选中区域,女主如果拖动到这个框内就可以瞬移进来,反之是小三进来MoveTo* moveTo_1;//女主的动作MoveTo* moveTo_3;//小三的动作if(rect.containsPoint(lastPos)){moveTo_1 = MoveTo::create(0.1f,Point(450,370));moveTo_3 = MoveTo::create(0.1f,Point(250,250));}else{moveTo_1 = MoveTo::create(0.1f,Point(250,250));moveTo_3 = MoveTo::create(0.1f,Point(450,370));}girl_1->runAction(moveTo_1);//男主争夺战~~girl_3->runAction(moveTo_3);}
--------------------------------------------------------
这个故事告诉我们,情侣之间一定要珍惜彼此的感情,我们并不是在演三国,分分合合终究是有风险的。一个疏忽,小三自然就出现了。
本博客纯属娱乐;
转载请注明来自star特530:http://blog.csdn.net/start530/article/details/20319009
7 0
- Cocos2dx 3.0 过渡篇(十四)用touch拖动女主打败小三!
- Cocos2dx 3.0 过渡篇(十四)用touch拖动女主打败小三!
- 用touch拖动女主打败小三!
- Cocos2dx 3.0 过渡篇(二十四)死不了的贪食蛇(重力版)
- Cocos2dx 3.0 过渡篇(二十四)死不了的贪食蛇(重力版)
- Cocos2dx 3.0 过渡篇
- cocos2dx 2.0-3.0 过渡篇
- Cocos2dx 3.0 过渡篇(一) 初体验
- Cocos2dx 3.0 过渡篇(二) 事件回调
- Cocos2dx 3.0 过渡篇(三) 触摸机制
- Cocos2dx 3.0 过渡篇(四) 创建项目
- Cocos2dx 3.0 过渡篇(五) 随机数的获取
- Cocos2dx 3.0 过渡篇(八)浅谈容器Vector
- Cocos2dx 3.0 过渡篇(九)浅谈容器Map
- Cocos2dx 3.0 过渡篇(十)资源加载进度条Loading...
- Cocos2dx 3.0 过渡篇(十二) lambda表达式的使用
- Cocos2dx 3.0 过渡篇(一) 初体验
- Cocos2dx 3.0 过渡篇(二) 事件回调
- emacs -2014
- 使用gdb调试so的thumb时报错
- 黑马程序员-第十三天(基本数据类型包装类)
- 分割文件与合并文件
- 为什么编译后总会有call of nonfunction?
- Cocos2dx 3.0 过渡篇(十四)用touch拖动女主打败小三!
- HDU 1879 畅通工程(最小生成树)
- SQL概述
- 浅谈JavaScript闭包
- 读《MacTalk人生元编程》,完
- 管道流PipedInputStream 和PipedOutputStream
- 盲填数独--大众都可学会的最强大脑游戏
- 黑马程序员-第十四天(集合框架)
- YII关联查询