У меня есть Canvas и скрипт который создает сплывающий текст(создаю текст и двигаю вверх)
Проблема в том что префаб моего текста не настраивается под размер экрана через canvas (UI Scale Mode: Scale With Screen Size) да и создается он немного не в том месте где я ставил
Код :
public class PopupScript : MonoBehaviour
{
public GameObject popUP; // prefab to instantiate
public Canvas canvas; // father canvas
private Vector2 position = new Vector2(0, 0);
void Start()
{
//Думаю проблема здесь (Когда я делаю билд игры на телефон координаты скорее всего изменяются ).
//Один из вариантов как создавать текст в нужном мне месте:
//Поставить пустой объект и привязать через Anchors , а потом просто на его месте создавать текст , но я также не знаю будет ли этот способ корректен .
position.x = 340;
position.y = 120;
}
public void PopUP(int Score)
{
GameObject inst = (GameObject)Instantiate(popUP, position, Quaternion.identity);
inst.transform.SetParent(canvas.transform);
var textMeshes = GetComponentsInChildren<Text>();
foreach (var tm in textMeshes)
{
tm.text = Score.ToString();
}
Destroy(inst, 4.0f);
}
}
Код :
public class PopUpScriptPrefabs : MonoBehaviour
{
void Update()
{
transform.Translate(0,1.8f,0);
}
}
Canvas:
Иерархия(Думаю всю показывать не нужно,только то что как-то связано с текстом ):
Manager - пустой объект.
Инспектор текста
Если вычислять position, то надо учитывать текущие размеры экрана.
Другой вариант - поставить текст в нужное место на сцене, настроить якоря (проверить поведение при разных размерах экрана), сделать невидимым, когда нужно - либо клонировать и перемещать клон, либо делать видимым, перемещать, скрывать и возвращать на место.
PS: В transform.Translate стоит использовать Time.deltaTime.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Есть форма с кнопкой, после нажатии которой должен появиться notifyiconКак сделать уведомление с кнопкой как на этой картинке:
Как в Unity3D на C# поворачивать объект так, чтобы он следил за другим объектом по двум осям?
Если ничего не выбрано, то при нажатии на кнопку DelBut выскакивает ошибка