cocos2d-x-3.3-023-仿微信飞机大战-总体分析和建模,cocos2dx3.3总体分析物品详细分析建立类族代码草稿

  次阅读 作者:智能小宝 来源:互联网 2015-09-28 13:28 我要评论(0)

cocos2d-x-3.3-023-仿微信飞机大战-总体分析和建模,cocos2dx3.3

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

总体分析

一开始得想明白了的问题

游戏里面的可见元素,采用is-a精灵,还是采用has-a精灵好: 直接继承精灵使用于相对简单的情形;而对于复杂的UI构成采用组合策略, 这时候用继承Node,并采用has-a精灵的关系是不错的选择。

子弹发射这个动作的思考(包括产生敌机,英雄出场,补给出场等都适用这个问题),cocos提供的导演和场景是用于流程控制的;层是画布;而精灵则是画布上的元素,故在发射或者创建一个子弹时要指定他所属于的画布。之后子便弹自个儿播放动画玩耍了。

层的使用,为了将相对独立的ui展示分离,使得代码耦合降低,将不同功能放到不同的层是个很好做法,如背景层,控制层等。

速度是每秒多少个像素点? 这个问题适用于其他元素,比如生命值,攻击力,飞行速度如何取值等。在真真的游戏开发团队里, 这个工作应该是有专们团队进行策划的。我们这里就初步按照跑出来的效果进行调整了。

怎么根据剧情或者关卡产生画布上的角色呢?提供一个关卡管理器,他的动力源是调度器。给他设置一个调度器回调,然后在回调里面不停的根据当前关卡的设置产生敌人,类似actionManager。

游戏的整个过程就是拍电影: 总导演安排好人架好了摄像机,选好了拍摄场景,决定场景是否切换,这些大事儿总导演负责。细节交个手下的副导演, 副导演找群众演员,找主角,负责安排出场顺序,负责驱动场上的逻辑-碰撞监测。每个关卡的剧本是不一样的。剧本管理员专门负责剧情的配置管理。

主角和群众演员根据剧情配置分别化不同的妆,带不同的装备,不同的技能等。

UI按钮的显示和主角的关系: 我的理解是这两者应该不是is-a, has-a的关系,而是发布订阅的关系。

一点拓展思考

也看了一些例子,包括上一篇提到的专栏,碰撞检测是通过‘副导演(或者谁谁谁)持有子弹数组,敌人数组,来两重循环进行碰撞检测’吗? 我的想法是, 碰撞检测相关代码由cocos的框架来实现并提供回调,客户端代码不用保留两个数组并循环, 而是让发射的子弹自己进行碰撞检测,并根据相应回调进行状态切换,这样的游戏代码看上去更具美感点。

由上面的‘碰撞检测’的问题引出本问题,采用上面的碰撞检测方案的话, 游戏里面的精灵元素更像'提线木偶', 每一帧里'副导演'都要喊'进行碰撞检测了', ‘碰撞了就攻击了’。。。 这会累死副导演的。 若精灵元素可自行检测碰撞,并根据相关回调进行状态切换,播放不同的动画效果等,就可以将‘副导演’里面的逻辑代码放入不同的精灵元素中,这样的代码耦合性会降低,封装性更好,更容易扩充。

物理引擎可以满足上述需求么?

答案见下一节。

物品详细分析

飞机: 我方战斗机, 敌人飞机, 都是飞机, 阵营不同而已

飞机可被伤害

飞机可被修复

飞机有枪

飞机用枪发射子弹

飞机有飞行速度

飞机有方向

飞机能得到补给

枪:发射子弹

枪有子弹

不同类型的枪一次发射的子弹数量不同,发射的子弹也不同

子弹:有杀伤力,体现为威力

子弹杀伤敌人后自己的生命周期也结束了

子弹无眼?子弹有眼?即子弹可以伤害同一阵营的人么?先无眼吧,不纠结

子弹有速度

子弹有起始位置

子弹有方向

补给-血包:+血用

补给-双排枪:换枪,子弹打光后再换回默认的枪

补给-炸弹:给飞机挂几颗导弹,发射后全屏灭怪

补给有速度

补给有起始位置

补给有方向

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...