Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么克隆后精灵不可见?_C#_Unity3d - Fatal编程技术网

C# 为什么克隆后精灵不可见?

C# 为什么克隆后精灵不可见?,c#,unity3d,C#,Unity3d,我创建了一个简单的蛇游戏。克隆蛇吃东西时的身体部分。但在下一步行动之前,新的部分似乎是看不见的。不知道为什么 在Inspector中,克隆对象与预置对象具有相同的设置。 我还试着在图层中设置精灵的顺序,但没有成功 在实例化时,您可能设置了错误的位置。检查它是否位于错误磁贴中的另一个身体精灵上方。我注意到您在一个游戏对象上同时使用了SpriteEnder和Image组件。为什么呢?您应该只使用其中一个…@Programmer尝试了层中的顺序选项,SpriteEndered拥有它。所有部分都只保

我创建了一个简单的蛇游戏。克隆蛇吃东西时的身体部分。但在下一步行动之前,新的部分似乎是看不见的。不知道为什么

在Inspector中,克隆对象与预置对象具有相同的设置。 我还试着在图层中设置精灵的顺序,但没有成功


在实例化时,您可能设置了错误的位置。检查它是否位于错误磁贴中的另一个身体精灵上方。

我注意到您在一个游戏对象上同时使用了SpriteEnder和Image组件。为什么呢?您应该只使用其中一个…@Programmer尝试了层中的顺序选项,SpriteEndered拥有它。所有部分都只保留图像组件。您是否检查了它在实例化的帧中的位置是否正确?难道不是在另一个身体部位,在错误的瓷砖上吗?@Nathalausoragge你是对的。发现它放错位置了。请把这个答案贴出来好吗?
    void Move () {
        if (_isAlive)
        {
            Vector2 currentPosition = transform.position;
            if (_previousDirection != _direction)
            {
                if (_direction == SnakeDirection.LEFT)
                {
                    transform.rotation = Quaternion.Euler(0, 0, 90);
                }
                else if (_direction == SnakeDirection.DOWN)
                {
                    transform.rotation = Quaternion.Euler(0, 0, 180);
                }
                else if (_direction == SnakeDirection.RIGHT)
                {
                    transform.rotation = Quaternion.Euler(0, 0, 270);
                }
                else if (_direction == SnakeDirection.UP)
                {
                    transform.rotation = Quaternion.Euler(0, 0, 0);
                }
                _previousDirection = _direction;
            }
            transform.Translate(0, 30, 0);
            CheckBorders();
            if (apple.IsEaten())
            {
                SnakeSection newSection = Instantiate(sectionPrefab);
                newSection.transform.position = currentPosition;
                newSection.transform.SetParent(canvas.transform, false);
                _tail.Insert(0, newSection);
                apple.SetEaten(false);
            } else if (_tail.Count > 0)
            {
                _tail.Last().transform.position = currentPosition;
                _tail.Insert(0, _tail.Last());
                _tail.RemoveAt(_tail.Count - 1);
            }
        }
    }
}