2016-07-20 4 views
0

Я строю игру для понга для Android-устройств. Поэтому я вставляю холст с тремя кнопками. Первая кнопка - переместить проигрыватель, вторая кнопка - переместить кнопку проигрывателя. Третья кнопка - увеличить скорость шара.Unity UI buttons mutlitouch

Я использую триггер событий для кнопок с указателем вверх и указателем вниз.

public float playspeed = 0.3f; 
public Vector2 player1pos = new Vector2 (0 , 0) ; 

bool paddlemoveup; 
bool paddlemovedown; 


void Update() 
{ 

if (paddlemoveup == true) 

{ 
     float ypos = gameObject.transform.position.y + Vector2.right.y * playspeed; 

     player1pos = new Vector2 (-3.6f, Mathf.Clamp(ypos, -1.7f, 1.7f)) ; 
     gameObject.transform.position = player1pos ; 


} 

if (paddlemovedown == true) 

{ 
     float ypos = gameObject.transform.position.y + Vector2.left.y * playspeed; 
     player1pos = new Vector2 (-3.6f, Mathf.Clamp(ypos, -1.7f, 1.7f),) ; 
     gameObject.transform.position = player1pos ; 


} 

} 

public void UPOnPointerDown() 

{ 

    paddlemoveup = true; 

} 

public void UpOnPointerUp() 

{ 

    paddlemoveup = false; 

} 

public void DownOnPointerDown() 

{ 

    paddlemovedown = true; 

} 

public void DownOnPointerUp() 

{ 

    paddlemovedown = false; 

} 

} 

Я использую предыдущий код для игрового манипулятора для перемещения вверх и вниз.

И для кнопки буст, я использую следующий код >>>

void OnCollisionEnter2D (Collision2D col) 

{ 

    if (col.gameObject.tag == "player1" && booster == true) 
    { 

     ballspeed = ballspeed + 0.5f; 
     } public void Boostdown() 

{ 

    booster = true; 

} 

public void Boostup() 

{ 

    booster = false; 

} 

    } 

Теперь мои проблемы или вопросы таковы:

1- кнопка UI является лучшим способом, который Я могу использовать для своей игры, или есть лучший способ, которым я могу использовать для таких игр для использования на сенсорных устройствах (Android и IOS).

2- Когда я тестирую игру на устройствах Android, я попытался нажать кнопку повышения и (правую или левую кнопки), но проблемы, которые я не могу коснуться двумя кнопками одновременно. Итак, как я могу исправить эту проблему?

3- Что касается скрипта повышения шара, то это правильный способ сделать это или есть лучший способ, и как я могу увеличить скорость шара, скажем, 2 секунды, а после этого вернуться к предыдущей скорости шара ,

4-наконец, как я могу установить таймер для кнопки повышения, чтобы игрок мог только нажать кнопку повышения один раз каждые 15 секунд.

Извините за вопрос, так много глупых вопросов

спасибо :)

ответ

0

Я не думаю, что пользовательский интерфейс является лучшим выбором, чтобы сделать игровой контроллер вы можете использовать Input.touches знать, где находится ваш пальцы и сколько пальцев у вас на экране, и вы можете узнать fingerId, чтобы вы могли отслеживать один и тот же палец https://docs.unity3d.com/ScriptReference/Input-touches.html посмотреть