Ashot писал(а):С джойстиком гораздо сложнее, буду пробывать...
спасибо, но я себе написал маленький и корявенький
[spoiler скрипт на джой]//Кнопка нажата
if joystick.Button1 = 1 THEN
//1 передача
if -2 < joystick.x < -0.33 then
if -2 < joystick.y < -0.33 then
Key.One = 1;
Key.Two = 0;
Key.Three = 0;
Key.Four = 0;
Key.Five = 0;
Key.S = 0;
Key.E = 0;
endif
endif
//3 передача
if -0.32 < joystick.x < 0.33 then
if -2 < joystick.y < -0.33 then
Key.One = 0;
Key.Two = 0;
Key.Three = 1;
Key.Four = 0;
Key.Five = 0;
Key.S = 0;
Key.E = 0;
endif
endif
//5 передача
if 0.34 < joystick.x < 2 then
if -2 < joystick.y < -0.33 then
Key.One = 0;
Key.Two = 0;
Key.Three = 0;
Key.Four = 0;
Key.Five = 5;
Key.S = 0;
Key.E = 0;
endif
endif
//2 передача
if -2 < joystick.x < -0.33 then
if 0.34 < joystick.y < 2 then
Key.One = 0;
Key.Two = 1;
Key.Three = 0;
Key.Four = 0;
Key.Five = 0;
Key.S = 0;
Key.E = 0;
endif
endif
//4 передача
if -0.32 < joystick.x < 0.33 then
if 0.34 < joystick.y < 2 then
Key.One = 0;
Key.Two = 0;
Key.Three = 0;
Key.Four = 1;
Key.Five = 0;
Key.S = 0;
Key.E = 0;
endif
endif
//Задняя передача
if 0.34 < joystick.x < 2 then
if 0.34 < joystick.y < 2 then
Key.One = 0;
Key.Two = 0;
Key.Three = 0;
Key.Four = 0;
Key.Five = 0;
Key.S = 1;
Key.E = 0;
endif
endif
//Нейтралка
if -0.34 < joystick.y < 0.33 then
Key.One = 0;
Key.Two = 0;
Key.Three = 0;
Key.Four = 0;
Key.Five = 0;
Key.S = 0;
Key.E = 1;
endif
endif
//Кнопка отпущена
if joystick.Button1 = 0 THEN
Key.One = 0;
Key.Two = 0;
Key.Three = 0;
Key.Four = 0;
Key.Five = 0;
Key.S = 0;
Key.E = 0;
endif[/spoiler]
и так: на клавиатуре 1 2 3 4 5 - передачи, Е - нейтралка, S - задний ход.
передачи переключает только при зажатой кнопке "1" на джойстике (сделал так потому что у меня джой "возвращается" на центр)
коробка такая:
1 3 5
|-N-|
2 4 R
баг: с 1 на 3 можно "переключить" не возвращаясь на нейтралку, "верхом"
может кому-то поможет скриптик
(можно легко заточить под себя)