cocos2d-x-3.3-024-仿微信飞机大战-如何引爆炸弹-实现范围攻击

时间:2015-02-11 10:56:18   收藏:0   阅读:397

原文同步发布于我的wiki,查看原文或更新请移步: 点击打开链接


承上文

本文DEMO

DEMO解读

主要代码

class Role {
public:
    // 虚析构
    virtual ~Role() {
    }
    // 主动撞击目标,一般会造成目标损坏
    virtual void hit(Role* target) = 0;
    // 被撞击等,遭到损坏
    virtual void gotDamage(int damage)= 0;
    // HP为0了,倒下
    virtual void down()= 0;
};
代码见场景里的物理碰撞回调
log("onContactBegin");

Role* a = dynamic_cast<Role * >(contact.getShapeA()->getBody()->getNode());
Role* b = dynamic_cast<Role * >(contact.getShapeB()->getBody()->getNode());
if(a && b) {
    log("onContactBegin,牛顿说: 力的作用是相互的");
    a->hit(b);
    b->hit(a);
}

效果图


评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!