Как вывести элементы управления на экран?

Я работаю над проектом, используя Unity/Vuforia для создания приложения дополненной реальности для Android, и мне нужна помощь. У меня на экране появляется мяч, когда найдена цель изображения. Я не могу понять, как заставить мяч двигаться. Я могу использовать виртуальные кнопки, но я ищу способ иметь кнопки вперед/назад/влево/вправо (или джойстик) на экране Android, который будет управлять мячом.

Может ли кто-нибудь предложить какой-либо совет или указать мне в правильном направлении? Я искал часы и могу найти только учебники для виртуальных кнопок. Ничего, что помогло бы мне научиться помещать их на экран.

Заранее спасибо!


person ZombieDude    schedule 09.01.2016    source источник
comment
Вы знакомы с системой пользовательского интерфейса Unity?? Добавьте холст и переходите оттуда unity3d.com/learn/tutorials/topics/user -интерфейс-пользовательский интерфейс   -  person Fattie    schedule 11.01.2016
comment
Я не вижу разницы между виртуальными кнопками и кнопками вперед/назад/влево/вправо в вашем вопросе. Если вы хотите использовать аппаратные кнопки (для bluetooth-клавиатуры или чего-то еще), вы можете назначить клавиши, но вам это не нужно. Просто используйте сенсорные жесты, чтобы переместить мяч.   -  person kagkar    schedule 12.01.2016


Ответы (1)


Лучший вариант для вас, вероятно, использовать систему пользовательского интерфейса Unity. Вы можете добавить в пользовательский интерфейс много разных вещей, например, кнопки, полосы прокрутки, ползунки, изображения или текст. Используя это, вы сможете создать свои собственные элементы управления для своей игры. Вы можете добавить элемент пользовательского интерфейса через редактор сцен или через код.

Например, добавить кнопки до смешного просто:

1, нажмите, чтобы добавить холст

Примечание. Всегда выбирайте «Наложение экранного пространства» и «Масштаб с размером экрана».

(Unity случайно сделала неправильные значения по умолчанию в Unity5. Вы используете только эти два параметра.)

2, нажмите, чтобы добавить кнопку

Готово — просто перетащите любую функцию, которую хотите запустить, с помощью кнопки.

введите здесь описание изображения

В примере у вас будет такой сценарий:

public void SomeScript()
  {
  public void ClickedMainMenu()
    {
    a.PlayOneShot(clickSound, 3f);
    SceneManager.LoadScene("main_menu");
    }
  public void ClickedLevel()
    {
    a.PlayOneShot(clickSound, 3f);
    SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex + 1);
    }
  public void ClickedQuit()
    {
    a.PlayOneShot(clickSound, 3f);
    Application.Quit();
    }

просто перетащите и выберите соответствующую функцию на панели UI.Button Inspector. (Вы сначала нажимаете +, а затем просто перетаскиваете.)

person Xerar    schedule 12.01.2016
comment
Еще одна вещь, которая может вам помочь, - это пример реального (виртуального) контроллера джойстика. forum.unity3d.com/threads/ - person Xerar; 12.01.2016
comment
Как должен работать этот скрипт? Вы скорее хотели, чтобы первая строка была чем-то вроде public class SomeScript : MonoBehaviour {? а откуда a? - person derHugo; 20.02.2018