cocos2d-x-3.0 alpha1与C++11练习五:飞镖忍者,如何检测碰撞(2)

来源:未知 责任编辑:责任编辑 发表时间:2014-01-20 07:51 点击:

p>  

p> 

p>修改onTouchesEnded(),把新子弹加入到子弹数组中,并设置其tag为2:

p> 

p> 

p>...

p>    projectile->runAction(Sequence::create(

p>                                           MoveTo::create(realDuration, realDest)

p>                                           ,[this](Node *sender){

p>                                               <span style="color: #ff6600;">this->removeChild(sender);

p>                                               _projectiles->removeObject(sender);</span>

p>                                           }

p>                                           , NULL));

p>    <span style="color: #ff6600;">projectile->setTag(2);

p>    _projectiles->addObject(projectile);

p></span>

p>  

p> 

p>2,在每桢中碰撞检测

p>下面的update()函数用于检测每帧的碰撞,并从游戏中删除碰撞中的子弹和怪物。

p>请在HelloWorldScene.h中声明,在HelloWorldScene.cpp中定义:

p> 

p> 

p>    void update(float delta);

p>...

p>   void HelloWorld::update(float delta){

p>    cocos2d::Array *projectilesToDelete = Array::create();

p>     

p>    Object *obj1 = NULL;

p>    Object *obj2 = NULL;

p>     

p>    CCARRAY_FOREACH(_projectiles, obj1){

p>        Sprite *projectile = (Sprite *)obj1;

p>        Array *targetsToDelete = Array::create();

p>        CCARRAY_FOREACH(_targets, obj2){

p>            Sprite *target = (Sprite *)obj2;

p>            if (projectile->getBoundingBox().intersectsRect(target->getBoundingBox())) {

p>                targetsToDelete->addObject(target);

p>            }

p>        }

p>         

p>        CCARRAY_FOREACH(targetsToDelete, obj2){

p>            Sprite *target = (Sprite *)obj2;

p>            _targets->removeObject(target);

p>            this->removeChild(target);
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • cocos2d-x学习笔记(19)--label 、label atlas
  • cocos2d-x学习笔记(23)--地图的使用3--CCTMXLayer
  • Cocos2d-x学习(一):HelloWorld
  • cocos2dx在xcode下开发,编译到android上(2)
  • cocos2d 设置屏幕默认方向
  • Cocos2d-x 2.0 之 Actions “三板斧” 之一
  • cocos2d-x学习笔记(22)--地图的使用2(TMX) --Z-Order、AnchorPoi
  • cocos2d-x学习笔记(18)--游戏打包(windows平台)
  • cocos2d-x学习笔记(16)--spritesheet(精灵表单)
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1