2016-01-09 4 views
2

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

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

Заранее благодарен!

+0

Вы знакомы с UI системой Unity? Добавьте холст и оттуда https://unity3d.com/learn/tutorials/topics/user-interface-ui – Fattie

+0

Я не вижу разницы между виртуальными кнопками и кнопками вперед/назад/влево/вправо в вашем вопросе. Если вы хотите использовать аппаратные кнопки (для клавиатуры Bluetooth или что-то еще), вы можете назначать ключи, но вам не нужно. Просто используйте жестовые салфетки, чтобы переместить мяч. – kagkar

ответ

2

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

Чтобы добавить кнопки для примера смешного легко:

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

Примечание - всегда выбрать "Screen Space Overlay" и "Шкала с размером экрана"

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

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

Вы закончили - только перетащите любую функцию, которую вы хотите запустить кнопкой.

enter image description here

В примере, вы бы сценарий, как это:

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 инспектора. (Сначала нажмите «+», а затем просто перетащите.)

+1

Еще один пример, который может вам помочь, - это пример фактического (виртуального) контроллера джойстика. http://forum.unity3d.com/threads/vjr-virtual-joystick-region-sample.116076/ – Xerar

+0

Как должен работать этот Сценарий? Вы скорее хотели бы, чтобы первая строка была чем-то вроде «public class SomeScript: MonoBehaviour {'? и откуда «а»? – derHugo