Показать сообщение отдельно
Старый 31.07.2010, 22:40   #110
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Фак по Юнити.

JavaScript... ну ка почему такой вопрос в разделе по C#?
Во первых для кнопок с такой проверкой я бы использовал Input.GetAxisRaw а не Input.GetAxis, т.к. последняя возвращает сглаженное значение.
И писал бы не так...
private var :boolean =true
var 
lastInputfloat 0;
function 
Update () { 
var 
input Input.GetAxisRaw("Perekl");

// когда у нас происходит нажатие в положительную сторону оси
// нам надо поймать это нажатие.
if(lastInput input n=!n
lastInput input;

if(
n

    
this.GetComponent(Car).enabled true
    
this.GetComponent(Vertolet).enabled false

else

    
this.GetComponent(Car).enabled false
    
this.GetComponent(Vertolet).enabled true

print(
n); 

Либо я бы вообще использовал Input.GetKeyDown() для ловли нажатия кнопки.

UPD: И вообще обновлять в каждом кадре состояния компонентов это изврат. Сделай хотя бы так:
private var :boolean =true
var 
lastInputfloat 0;
function 
Update () { 
var 
input Input.GetAxisRaw("Perekl");

// когда у нас происходит нажатие в положительную сторону оси
// нам надо поймать это нажатие.
if(lastInput input 
{
    
n=!n;
    
this.GetComponent(Car).enabled n
    
this.GetComponent(Vertolet).enabled = !n

lastInput input;
print(
n); 

UPD2: кстати что это за машина-вертолет?
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
den (31.07.2010)