2017-02-21 24 views
0

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

if (i < 5) 
{ 
    if (Input.GetMouseButtonDown(0)) 
    { 
     transform.Rotate(Vector3.up * Time.deltaTime * 1080); 
     i++; 
    } 
} 

if (i >= 5) 
{ 
    if (Input.GetMouseButtonDown(0)) 
    { 
     transform.Rotate(-Vector3.up * Time.deltaTime * 1080); 
     i--; 
    } 

} 

У этого кода есть проблемы, и я не знаю, где. Я думаю, что он находится в третьем if, потому что он не делает противоположное направление (закрытие).

+0

это дает ошибку или просто не работают? 3-е, если может быть 'else if'. Кроме того, ваш код уменьшается после закрытия и будет застревать в цикле открытия/закрытия ... возможно, измените i> = 5 на i <10 и сделайте i-- до i ++ – depperm

+0

, он отлично работает до 4-го щелчка, который открыт. то он не идет в противоположном направлении для закрытия. –

+0

Я предполагаю, что 'i' инициализирован для 1? – trahane

ответ

2

Как вы хотите, чтобы закрыть дверь после 4-щелчок и дверь должна двигаться в противоположном направлении

Попробуйте это:

//declare this var as a flag 
bool inc = true; 


if (Input.GetMouseButtonDown(0)) 
{ 
    if(inc) 
    { 
    transform.Rotate(Vector3.up * Time.deltaTime * 1080); 
    i++; 
    } 
    else 
    { 
    transform.Rotate(-Vector3.down * Time.deltaTime * 1080); 
    i--; 
    } 

} 


if(i==0) 
{ 
    inc = true; 
} 
if(i==5) 
{ 
    inc = false; 
} 

или вместо -Vector3.up, вы можете использовать Vector3.down.

EDIT: сделано изменение в соответствии с установкой i в 4

+0

хорошо, спасибо всем за ответ, и я пробовал это, но проблема в том, что я опускаюсь до 4, а затем делает первый, если. –

+0

@ ZannikosCh исправил его сейчас. – trahane

+0

Удалил мой ответ, так как этот использует идею bool, в которой я собирался в меньшем коде. –

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

  • Нет связанных вопросов^_^