Как сделать кнопку
|
|
vampir0305 | Дата: Пятница, 25 Сентября 2015, 13:49 | Сообщение # 1 |
Unity C# Programmer
Сейчас нет на сайте
| Всем привет. Как сделать кнопку которая будет реагировать на нажатие мышкой, или пальцем на андроиде/айосе, выполнять определённое действие и следовать за камерой. И ещё как отловить нажатие на объект. Пространство 2D.
Красочная сюжетно-ориентированная игра-головоломка
Сообщение отредактировал vampir0305 - Пятница, 25 Сентября 2015, 13:58 |
|
| |
basist | Дата: Пятница, 25 Сентября 2015, 13:58 | Сообщение # 2 |
пациент Flight Dream Studio
Сейчас нет на сайте
| vampir0305, Тыц
|
|
| |
vampir0305 | Дата: Воскресенье, 27 Сентября 2015, 19:04 | Сообщение # 3 |
Unity C# Programmer
Сейчас нет на сайте
| basist, спс, сделал кнопку, но она не вызывает функцию почему-то. На C# Код using UnityEngine; using System.Collections;
public class controlcar : MonoBehaviour {
public bool go_left = false; public bool go_right = false;
void Start () {
}
public void GoFunc() { go_left = true; }
public void GoFunc2() { go_right = true; }
void Update () {
if(Input.GetKey(KeyCode.A)) { go_left = true; } else if (Input.GetKey(KeyCode.D)) { go_right = true; } else { go_left = false; go_right = false; }
if (go_left == true) { Debug.Log("left") }
if (go_right == true) { Debug.Log("right") }
} } Добавлено (27 сентября 2015, 19:04) --------------------------------------------- Помогите!
Красочная сюжетно-ориентированная игра-головоломка
|
|
| |
beril | Дата: Воскресенье, 27 Сентября 2015, 20:16 | Сообщение # 4 |
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
| Цитата vampir0305 ( ) Помогите! Все работает! У тебя ошибки какие то выкидывает? у тебя нету знака ";" в строках где Debug.Log
Накодил? Убери за собой! Инвентарь в Unity(UI) Инвентарь в Unity(GUI)
|
|
| |
vampir0305 | Дата: Воскресенье, 27 Сентября 2015, 20:23 | Сообщение # 5 |
Unity C# Programmer
Сейчас нет на сайте
| beril, если ты говоришь про Код if(Input.GetKey(KeyCode.A)) { go_left = true; } else if (Input.GetKey(KeyCode.D)) { go_right = true; }
То да, это работает. А вот UI Button нет.
Добавлено (27 сентября 2015, 20:23) --------------------------------------------- Вот скрин кнопки:
Красочная сюжетно-ориентированная игра-головоломка
Сообщение отредактировал vampir0305 - Воскресенье, 27 Сентября 2015, 20:24 |
|
| |
beril | Дата: Воскресенье, 27 Сентября 2015, 21:33 | Сообщение # 6 |
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
| Все работает если убрать условия эти Код else { go_left = false; go_right = false; } Он же постоянно в Update этим переменным присваивает значение false. Если нужно go_left = false; при отпуске мышки используй событие OnPointerUp , если нужно что бы работаа кнопка когда ее нажимаешь и удерживаешь OnPointerDown
Накодил? Убери за собой! Инвентарь в Unity(UI) Инвентарь в Unity(GUI)
|
|
| |
beril | Дата: Воскресенье, 27 Сентября 2015, 21:36 | Сообщение # 7 |
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
| В общем вот тебе рабочий код , вешать нужно именно на кнопку к которой нужно применить данные события Код using UnityEngine.UI;
public class Test : MonoBehaviour, IPointerDownHandler, IPointerUpHandler {
public bool go_left = false; public bool go_right = false;
void Start() {
}
void Update() {
if (go_left == true) { Debug.Log("left"); }
if (go_right == true) { Debug.Log("right"); }
}
public void OnPointerDown(PointerEventData eventData) { go_left = true; go_right = true; }
public void OnPointerUp(PointerEventData eventData) { go_left = false; go_right = false; } }
Накодил? Убери за собой! Инвентарь в Unity(UI) Инвентарь в Unity(GUI)
|
|
| |
vampir0305 | Дата: Понедельник, 28 Сентября 2015, 14:48 | Сообщение # 8 |
Unity C# Programmer
Сейчас нет на сайте
| beril, Огроменное спасибо!!! Всё работает! Репу плюсанул! Добавлено (28 сентября 2015, 14:48) --------------------------------------------- У меня вопрос. Будет ли эта кнопка работать на андроиде?
Красочная сюжетно-ориентированная игра-головоломка
|
|
| |