这个大嘴花的动画做得我欲仙欲死。。。
但看见成果还挺爽的(
双发则是几分钟就做完了,最简单的一集。
顺带一提改了撑杆动画,奔跑状态下的撑杆会一跳一跳地表示它速度快。
现在性能已经相当成问题了,随便一演示都得狠狠掉帧,这个视频里几十个铁桶几十个豌豆从60帧掉到稳不住40帧。
我能想到的优化方案是用二维数组粗略保存每个植物和僵尸的位置供粗判断,不需要让所有植物/子弹/僵尸每帧都遍历整个对象池。但sc做数据结构的效率懂的都懂,我也不敢说这玩意真能起到什么明显的优化作用,最终不负优化我就谢天谢地了。。。
最要命的是我不敢给出“两者不相碰”的必要条件,我给出了可不敢保证它必要,万一最终因为这个优化阻断了本来该有的碰撞判定可就坏菜了。所以这个优化我还是不敢做。
另一个办法是按行保存每行植僵的索引,这样理论上讲遍历量可以缩减到1/5左右。。。
大概吧。
判断所在行在碰撞检测中是很早就进行的一个判定,如果行不符合直接就会continue掉这个对象,就算减少了遍历量我也不敢说它就能省多少性能。况且维护这个列表本身就需要不少额外的开支。就怕忙得满头大汗最终被迫回滚,而且sc这玩意用不了git之类的东西,为了回滚,改的过程中不能动任何其他东西。