我不明白你为什么要去移动蛇身体的节点!只需要要移动头部就行啦!
我只能呵呵呵两声了,前面我已经回答过和你一样说的问题了,因为蛇身节点纹理不一样,只移动头,蛇身的纹理就得一直换,更耗性能(其他节点都是跟着蛇头更新坐标的)
不知道用 Cocos2d-JS 做会不会好点 ? 用creator目前看来做不成
算了!每个人思路不一样,想法也不一样!
##moveto的本质也是在update中setposition,我想用moveto并不能解决性能的问题。相反,自己控制setposition,也要灵活好多。
###有个比较简单的优化策略,这边的蛇是由若干节点拼接而成的,在移动过程中可以只处理后面的节点,某一个节点的位置下一帧仍然有节点的情况就可以不用修改位置;只需要把后面的节点填充有位置改变的节点位置即可。这样应该可以减少需要修改位置节点的数量。
###像这样:
####移动方------------------>
CBBBBBBBBBBBBBBBBBBA
_BBBBBBBBBBBBBBBBBBCA
####这个过程只调整了A和C的位置
很简单,大量节点目前Creator是不太支持的,就算放在原来的cocos2dx C++,上千个节点也是承受不了的。
还好,用cocos2dx 3.12已经解决卡顿问题
对游戏逻辑和性能优化后,已经能保持在55帧左右了
请问一下:地图上有几百个点,每个点都要检测与蛇头之间的距离(距离近就被蛇吃掉),这样会导致很卡,这是怎么解决的? 还有蛇的移动我是用一个数组保存蛇头经过的位置,蛇的身体根据这个数组setPosition(),这会带来一个问题,游戏只要稍微卡一下蛇就会“断掉”,能说下蛇移动的解决方法吗? 谢谢~~
有一个简单易行的办法,将生成的新节点做成一个动画,只有两针,效果是前后错位,然后在放下该节点的时候调整方向即可
或者,节点自己挂一个脚本,脚本内容是每n针向前移动x个单位,再过n针向后移动x个单位,在放下该节点时调整方向
第一种方法可能会非常好用,第二种比较吃cpu
节点与节点之间距离保持固定值
嗯嗯,多谢指正,动画效果应该是颜色变化,而不是前后错位
谢谢你的意见,不过你的做法做需要各种换皮肤的话就会有问题了。大量切换纹理效率比计算位置更差
点与点保持恒定距离的话在旋转转圈的时候就会绕着一个点不停转动了,然后后面的节点就会全部停止运动。谢谢
楼主是怎么解决的,是把移动放到了c++上了吗?
请问用c++怎么写?我试了下jsb好像Action等js对象可以作为参数传进来,但cc.Node就有问题
请问谁有用c++写的demo吗?怎么都拿不到cc.Node
我的贪吃蛇也是1000个节点同时动,安卓真机上跑就只有40帧,现在也还是要用C++再做一遍了