2015-08-29 2 views
1

Я играю в Unity с помощью C#, разработанного для Android. Я тестирую с помощью Unity Remote 4. Мне просто интересно, можно ли использовать спрайт в качестве кнопки в Unity, а не кнопку, созданную в Component -> UI -> Button. Я пробовал:Использование спрайта как кнопки в Unity

void Update() { 
    if (Input.touchCount > 0) { 
     Application.LoadLevel ("startScene"); 
    } } 

Какой из них работает. Кнопка используется для переключения из главного меню в меню опций. В идеале я хочу, чтобы кнопка была в том же месте в меню опций, которое будет использоваться для возврата в главное меню. Проблема в том, что, поскольку сцены переключаются мгновенно, сцены переключаются между собой снова и снова, я думаю, потому что следующая сцена также получает сенсорный ввод. Как я могу задержать время между переключением сцен, или есть лучший способ использовать спрайты в качестве кнопки?

ответ

1

Вы можете создать систему меню, которая сохраняется в сценах. Посмотрите на This Tutorial Video для руководства

0

Обычно кнопки выполняют свою функцию после выполнения крана. Кран - нажмите и отпустите кнопку. То, что вы делаете, это выполнение вашей функции при нажатии, которое вызывает непрерывную работу ваших кнопок, когда вы держите палец.

псевдокоде: Если палец нажимает на спрайт Если же палец релиз спрайта кнопка была нажата.

0

Вы можете использовать луч отливку для обнаружения прикосновения на спрайт

void Update() 
{ 
    if (Input.touchCount == 1) 
    { 
     Vector3 wp = Camera.main.ScreenToWorldPoint(Input.GetTouch(0).position); 
     Vector2 touchPos = new Vector2(wp.x, wp.y); 
     if (collider2D == Physics2D.OverlapPoint(touchPos)) 
     { 
      //your code 

     } 
    } 
} 
Смежные вопросы