cocos2d-x 游戏创作过程(五)

cocos2d-x 游戏创作过程(五)

  • 制作 一个全功能的 敌人 类。
  • 制作一个Dialog,显示 得到的物体。
  • 制作类子弹类。 便于切换子弹。
  • 然后根据得到的物体,进行武器切换,和骨骼的切换。
  • 控制敌人,和 主角的血量,和删除敌人。
  • 炸弹的定时,与爆破。

有些时候感觉,坑多多。 但是现在一一突破了,真不容易。现在要真的写皮肤了和音乐了,要不然,用官方网站的皮肤,根本就是给人以幼儿园的感觉。

一个全功能的敌人 类

  1. 根据瓦片地图的属性,是确定 敌人类的属性。 现在我做到的是,瓦片地图的对象图层,中去创建很多属性,然后读写出来放在一个实体类里。然后再把实体类加载到 敌人类里。 然后敌人类会根据不同的属性,发挥不同的特性。

    //PropertyData 实体类
    //EnemyRole 是一个继承了Sprite的类
    bool EnemyRole::init(PropertyData *property, b2Body *body, std::string str){
    //    auto spriteA = Sprite::create("BoxA2.png");
    propertyData=property;
    this->body=body;
    this->setAnchorPoint(ccp(0.5,0.5));
    this->setTexture(property->getImage());
    this->setTag(property->getID());
    b2PolygonShape dynamicBox;
    dynamicBox.SetAsBox(1,1);
    this->setCameraMask((unsigned short) CameraFlag::USER1);
    propertyData->setImage(property->getImage());
    propertyData->setID(property->getID());
    body->SetUserData(this);
    int tags = this->getTag();
    //根据tags的不同判断不同瓦片的特性
    if( tags==39){
    sprite_title1 = Sprite::create("title.png");
    sprite_title1->setScaleX(0.8);
    sprite_title1->setScaleY(0.3);
    sprite_title1->setAnchorPoint(ccp(0.0,0.0));
    sprite_title1->setPosition(this->getPositionX()-40,this->getPositionY()+80);
    sprite_title1->setCameraMask((unsigned short)CameraFlag::USER1);
    this->addChild(sprite_title1,10);
    this->schedule(schedule_selector(EnemyRole::update));
    }
    
    
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

昏暗的夜晚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值