boo 制作记录3

2017. 04. 23

D6:

添加道具物品,『方向』

有了道具以后,就要确定,角色的各种buff决定权在谁手上了。

所以,buff应该独立出来,单独的类。

但是buff控制了基础属性,所以buff应该是角色的基础类,然后角色的其他行为需要先引用基类?

——  一个小时后…  ——

没搞定,睡觉了。

——

睡不着,强行分离出buff类。

因为碰撞框和基类都属于cc.Component,而且分离后同个节点下可能出现多个script,所以脚本的引用顺序变的很重要:

Boo: 基础类

buff:通用类,主要用来判断碰撞对象的情况

也就是说,所有节点下面的第一个组件最好都是基类,否则直接依靠node.getComponent(cc.Component)是无法获取基类。(用基类名字的话,太难变通,而基类并没有通用类型,如cc.Node这样可以匹配的关键字)

这样做也是比较蛋疼。

也许另一种方法是把一个节点拆分成多个子类,单独控制节点位置的类 pos,控制节点内置属性的类 prop,以及控制碰撞的 collider。

但是这样做,最后互相调用也是个比较蛋疼的事。

……

先这样吧,buff.js改完Collision.js。

也许一个节点一个组件才是最正确的,但是那样的话,冗余节点关系链实在太长了……

…………

把Collision.js移除了,分离出去感觉没半点意义,恢复成90分钟前的状态……

D7:

方向道具,碰撞后改变指向,同时改变角色移动方向。

虽然碰撞后的旋转逻辑是顺时针,但是有点问题,并没有顺时针转,不想管了。

【优先级1】把效果动画独立开。【NEW】

希望今天能早睡,最近作息过于紊乱。

D8:

复制了个新的实体Hariball

D9:

中间做小程序去了,boo的制作中断的一段时间。

考虑了一下,数字还是要去掉,新增实体出现前动画。

角色置入场景 > 播放出生动画 > 监听动画结束,开启碰撞与AI > 角色死亡 > 播放消失动画,关闭碰撞与AI > 监听动画结束,移除角色

因为出生动画和消失动画对应的功能函数不对称,让人稍微有点强迫症不爽。暂时没有太好的方法。

把主角的数字也去掉了,改成血量显示。

增加得分道具『星星』

增加过关的传送门:

已经是一个可以进行无尽模式的游戏了,之后开始进行关卡制作,已经新增角色。优化。

【优先级2】block调为时效物品【暂时不需要此类物品】

【优先级2】新增敌人的实体【DONE】

【优先级2】敌人AI。【DONE】

【优先级2】物品效果。【DONE】

【优先级1】界面UI。【DONE】

【优先级1】地图边缘完善。【DONE】

大框架完成了。

游戏的基础玩法已经确定:主角以点击的位置来进行冲刺,场景中,部分场景主角可以吸收,而敌人实体会使主角受伤,每个关卡收集N个星星,或者存活固定时间,之后会出现下一关卡的传送门。

【优先级2】新增关卡

【优先级2】关卡逻辑,角色AI

【优先级1】关卡选择界面UI【NEW】

【优先级1】添加BOSS

【优先级0】新增物品

————————————

把所有的碰撞实体的分组都放在同一个组里了,这样敌人实体也有互相碰撞的检测,先这样吧,性能似乎没有差太多,而碰撞后的条件可以用js直接控制。

D10:

给传送门加了脚本,基本上和星星的脚本一样。这种情况下在考虑是否要新建个公共脚本,暂时还是算了。

把角色的生成直接放在对应的角色脚本内,逻辑忽然通顺了。

出生 > 成长 > 死亡 > 出生

昨天的 

『角色置入场景 > 播放出生动画 > 监听动画结束,开启碰撞与AI > 角色死亡 > 播放消失动画,关闭碰撞与AI > 监听动画结束,移除角色』

『因为出生动画和消失动画对应的功能函数不对称,让人稍微有点强迫症不爽。暂时没有太好的方法。』

这种违和感去除了。

出生,成长,消失,按顺序夹杂着动画。

————

把过关条件写在门的碰撞条件里了

加上关卡后,逻辑的复杂程度开始加倍了。

终于把主角的控制独立出来了。

添加菜单UI场景

呵呵-____-

另一个次元的人生