boo 制作记录3
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场景
呵呵-____-