Я пытаюсь изменить порядок слоев сортировки в единстве для 2D-игры, но приведенный ниже скрипт у меня не работает:
using UnityEngine;
using System.Collections;
public class LevelManager : MonoBehaviour {
public GameObject player;
public SpriteRenderer deadGuy;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if (player.transform.position.y < deadGuy.transform.position.y)
{
deadGuy.sortingOrder = 0;
} else
{
deadGuy.sortingOrder = 2;
}
}
}
Объекты были связаны в единстве окна инспектора перед запуском игры.
РЕДАКТИРОВАТЬ
Теперь это мой код:
using UnityEngine;
using System.Collections;
public class LevelManager : MonoBehaviour {
public GameObject player;
public GameObject deadGuy;
public bool belowTheY;
// Use this for initialization
void Start () {
deadGuy.GetComponent<SpriteRenderer>().sortingOrder = 2;
}
// Update is called once per frame
void Update () {
if (player.transform.localPosition.y < deadGuy.transform.localPosition.y)
{
belowTheY = true;
deadGuy.GetComponent<SpriteRenderer>().sortingOrder = 0;
} else
{
belowTheY = false;
deadGuy.GetComponent<SpriteRenderer>().sortingOrder = 2;
}
}
}
bekowTheY активируется, если пользователь опускается ниже Y-позиции deadGuy, поэтому я знаю, что оператор if выполняется правильно. Однако слой сортировки не изменяется
deadGuy.sortingOrder = 2;
в функцию обновления. Выберите SpriteRenderer в редакторе и проверьте, изменил ли sortingOrder свойство.... - person Programmer   schedule 14.04.2016Start
. Еще кое-что. Удалите весь код в своем обновлении и поместитеdeadGuy.sortingOrder = 4;
в функцию «Пуск». Я хочу посмотреть, работает ли ваш код. Подскажите значение в Редакторе. - person Programmer   schedule 14.04.2016deadGuy
ужеSpriteRenderer
. Пожалуйста, объясните, почему вы делаетеdeadGuy.GetComponent<SpriteRenderer>()
? Вы упомянули об изменении на 4 работы, так что проблема не в этом. Ваш профиль находится в этой строкеplayer.transform.position.y < deadGuy.transform.position.y
Используйте Debug.Log и убедитесь, что это то, что вам нужно. - person Programmer   schedule 15.04.2016Debug.log
, чтобы увидеть значение, а не окно инспектора - person Milad Qasemi   schedule 15.04.2016