微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – Snake游戏尾巴

我正在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下一个孩子,然后继续.
并为每一帧每一个动作.
您知道每个部分之前的位置,并为每个子项设置了该部分.
更新每个零件的位置时,可以将对象的位置设置为数组的值.

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐