Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(197评价)
价格: 4431.00元
老师,贪吃蛇的身体细节怎么实现呢?
靖宝宝的boy发起了问答2017-08-26
6
回复
1055
浏览

siki老师,贪吃蛇的身体我已经实现了。我的做法是在实例化蛇身的时候,先获取蛇头的位置,第一节身体实例化出来,放在蛇头左边一定间距,第二节身体实例化出来,放在第一节左边一定间距,以此类推,直到蛇尾。

移动的时候,先获取蛇头的位置,蛇头向当前朝向的正前方移动,保存第一节身体的坐标,第一节的坐标改为之前获取的蛇头的位置,保存第二节身体的坐标,第二节的坐标设置为之前获取的第一节的位置。

加速移动的话,除了蛇头自主移动之外,蛇身的坐标多加上一个坐标差值就好了。

现在头疼的是,贪吃蛇吃了一定的食物,蛇身变粗,如果蛇身间距不变的话,很显然蛇身会很拥挤,效果不好。

我想请教的是怎么根据不同蛇身的宽度去动态设置蛇身间距,因为蛇一直在移动。

我尝试的做法是:先获取方向,蛇头与第一节的方向,第一节与第二节的方向,第二节与第三节的方向.....

然后蛇头和所有的蛇身的localscale变大。

之后在for循环中重新设置位置:设置后的位置=(设置前的位置-间隔变量*方向),也就是在原来的方向上移后一点。

但是最终的效果却并不好。

是不是我的算法有不妥之处?

劳烦老师费心提供方法,谢谢!

所有回复
  • siki 2017-08-26

    贪吃蛇的实现方式有很多种的,只要能达到你想要的效果这个算法就没什么问题,没有最好的也没有唯一的

    • 靖宝宝的boy 2017-08-27

      但是我尝试的做法没有实现间隔的增长,无法满足项目要求。

      (0) 回复
    • siki 2017-08-27

      回复 @ 靖宝宝的boy: 你这里说的间隔增长是什么意思,有效果图看下吗

      (0) 回复
    • 靖宝宝的boy 2017-08-27

      回复 @ siki: 就是电脑版《蛇蛇争霸》里面的效果,siki老师可以看一下,网上有视频的。

      (0) 回复
    还有-2条回复,点击查看
    你还没有登录,请先登录注册
  • siki 2017-08-28

    这个你实现的效果是怎么样的

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
  • siki 2017-08-28

    可以让蛇身体的间距是身体宽度的一个倍数,这样宽度增加,间距也增加,试试效果

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
发表回复
你还没有登录,请先 登录或 注册!