cocos2d-x-3.3-023-仿微信飞机大战-总体分析和建模
发布时间:2020-12-14 20:20:52 所属栏目:百科 来源:网络整理
导读:原文同步发布于我的wiki,查看原文或更新请移步:点击打开链接 总体分析 一开始得想明白了的问题 游戏里面的可见元素,采用is-a精灵,还是采用has-a精灵好: 直接继承精灵使用于相对简单的情形;而对于复杂的UI构成采用组合策略, 这时候用继承Node,并采用h
原文同步发布于我的wiki,查看原文或更新请移步:点击打开链接
总体分析
物品详细分析飞机: 我方战斗机, 敌人飞机, 都是飞机, 阵营不同而已 飞机可被伤害 飞机可被修复 飞机有枪 飞机用枪发射子弹 飞机有飞行速度 飞机有方向 飞机能得到补给 枪:发射子弹 枪有子弹 不同类型的枪一次发射的子弹数量不同,发射的子弹也不同 子弹:有杀伤力,体现为威力 子弹杀伤敌人后自己的生命周期也结束了 子弹无眼?子弹有眼?即子弹可以伤害同一阵营的人么?先无眼吧,不纠结 子弹有速度 子弹有起始位置 子弹有方向 补给-血包:+血用 补给-双排枪:换枪,子弹打光后再换回默认的枪 补给-炸弹:给飞机挂几颗导弹,发射后全屏灭怪 补给有速度 补给有起始位置 补给有方向 建立类族类图如下https://github.com/cheyiliu/All-in-One/raw/master/res/cocos2d/warofairplain.jpg 说明
Role: 角色类定义,属性有:队伍,血量,攻击力,资源等; 行为有:判断是敌是友,攻击,被攻击,获得各种补给; 提供静态工厂方法 RoleHero: 英雄,属性有:多把枪用于远程攻击;可以获得各种补给等; RoleEmemy: 敌人:只能有攻击和被攻击行为。 RoleEnemy有3个子类,代表大中小型敌人,负责用不同的资源来实例化
Supply: 补给类,定义了基本方法;和工厂方法。 Supply有3个子类,负责不同的补给工作。
Gun: 枪,功能是开火发射子弹;包含静态工厂方法。 Gun有3个子类,装有不同的子弹,代表不同的枪。 Bullet: 子弹基类,属性有威力,资源等;行为有杀伤;同时有静态工厂方法 (后期开发看需求是否需要单独分离出工厂类) Bullet有3个子类,代表不同类型的子弹。
为何要提供这么多子类呢, 每个系统有好几个子类, 我的想法是在选用不同资源代表不同类型的物体时不想用太多的if else。 不子类化那么父类将承载过多的判断语句。 上述的补给系,枪支弹药系都作用于飞机系。 代码草稿
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |