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

时间:2018-07-16 19:42:30

标签: c# unity3d

我创建了一个简单的蛇游戏。蛇吃东西时克隆身体部分。但是新的部分直到下一步才看不见。不知道为什么。

在Inspector中,克隆对象具有与预制相同的设置。 我还尝试为Sprite设置“图层顺序”-无效。

enter image description here

enter image description here

    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);
            }
        }
    }
}

1 个答案:

答案 0 :(得分:1)

实例化时可能设置的位置错误。检查它是否不在错误贴砖上的另一个身体精灵上。