c# – Snake游戏尾巴

c# – Snake游戏尾巴,第1张

概述我正在Unity的2D蛇游戏中工作. 这是蛇的头: 这是蛇尾的延伸.每当我吃东西时都会添加它: 我让蛇的头部移动,但我的问题是如何移动扩展?我试图将这些扩展作为孩子添加到头部,但是当我旋转头部时,它会同时旋转所有扩展,但我想像链一样旋转一个扩展.我正在使用C#脚本 if (position == 1 || position == 3) { if (Input.Get 我正在Unity的2D蛇游戏中工作.
这是蛇的头:

这是蛇尾的延伸.每当我吃东西时都会添加它:

我让蛇的头部移动,但我的问题是如何移动扩展?我试图将这些扩展作为孩子添加到头部,但是当我旋转头部时,它会同时旋转所有扩展,但我想像链一样旋转一个扩展.我正在使用C#脚本

if (position == 1 || position == 3) {                if (input.GetKey (KeyCode.UpArrow)) {                    position = 2;                    rotation=90;                    transform.rotation=Quaternion.Euler(0,rotation);                } else if (input.GetKey (KeyCode.DownArrow)) {                position = 4;                rotation=270;                transform.rotation=Quaternion.Euler (0,rotation);            }        } else if (position == 2 || position == 4) {            if(input.GetKey(KeyCode.RightArrow)){                position=1;                rotation=0;                transform.rotation=Quaternion.Euler (0,rotation);            }            else if(input.GetKey(KeyCode.leftArrow)){                position=3;                rotation=180;                transform.rotation=Quaternion.Euler (0,rotation);            }        }        if (position == 1)            transform.Translate (Vector3.right * movementSpeed * Time.deltaTime,Space.World);        else if (position == 2)            transform.Translate (Vector3.uP* movementSpeed * Time.deltaTime,Space.World);        else if(position==3)            transform.Translate(Vector3.left*movementSpeed*Time.deltaTime,Space.World);        else if(position==4)            transform.Translate (Vector3.down*movementSpeed*Time.deltaTime,Space.World);        int i;        for (i=1; i<extensions.Count; i++) {            extensions[i].transform.position=extensions[i-1].transform.position;            extensions[i].transform.rotation=extensions[i-1].transform.rotation;        }
解决方法 也许是一个arrayList.
然后在位置0设置父(snakehead)
1你设置孩子,2下一个孩子,然后继续.
并为每一帧每一个动作.
您知道每个部分之前的位置,并为每个子项设置了该部分.
更新每个零件的位置时,可以将对象的位置设置为数组的值.

您无法设置父属性,因为您会遇到意外行为.

如果我写错字和简短回答,请原谅. (我在打电话)

总结

以上是内存溢出为你收集整理的c# – Snake游戏尾巴全部内容,希望文章能够帮你解决c# – Snake游戏尾巴所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1226534.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存