-
Заявка на ПМЖ
Re: GlovePie
Вот попробуй!
//одна мышь для управления самолётом,
//разрешение экрана 1680х1050,
//линейная зависимость движения виртуального джоя от движения курсора мыши,
//курсор видимый,
//центровка - правый алт,
//движение крена (ось Х) ,
//при нажатой правой клавише мыши - руддер движется в сторону курсора, а крен (ось Х) в //противоположную сторону ~ на 15% (типа, скольжение),
//при нажатом левом Alt - крен (ось Х) и руддер работают в противоход (крен в сторону //движения курсора, а руддер в противоположную сторону - размазанная бочка),
//газ на скролле мыши с шагом 10% (т.е. 25 щелчков от 0 до 110% газа,
//отключение/включение виртуального джойстика при нажатии на клавишу Apps (для работы с //картой), а при включении желательно чтобы курсор возвращался в координаты до отключения
//Вкл/Выкл джоя: Тумблер ScrollLock
if (Pressed(Key.ScrollLock)){
if var.off=1 then var.off=0 else var.off=1
}
if var.off =0 {
PIE.FrameRate=400
// ######## Опрос мышек НАЧАЛО #######
// ############ Mouse1 #######################
if (Mouse1.present) {
if (var.Mouse1_in = false) {
// ::::::::::::::::::::::Входные параметры:
var.Mouse1_Wheel = 25 //На сколько щелчков колеса мыши разбить ось джойстика
var.Mouse1_mapZ = var.Mouse1_Wheel*120
//Центровка при старте
var.Mouse1_Z = var.Mouse1_mapZ/2
var.Mouse1_in = true
}
//Сдвиг осей
var.Mouse1_deltaz = Delta(Mouse1.DirectInputZ)
// Новые координаты осей
var.Mouse1_Z = var.Mouse1_Z + (var.Mouse1_deltaz)
//Нельзя выходить за границы допустимой зоны
if var.Mouse1_Z < 0 then var.Mouse1_Z = 0
if var.Mouse1_Z > var.Mouse1_mapZ then var.Mouse1_Z = var.Mouse1_mapZ
//Преобразуем диапазон мышки в диапазон джойстика от -1 до +1
Var.Mouse1_JX = MapRange(Mouse1.CursorPosX, 0, screen.DesktopRight, -1 ,1)
Var.Mouse1_JY = MapRange(Mouse1.CursorPosY, 0, screen.DesktopBottom, -1 ,1)
Var.Mouse1_JZ = MapRange(var.Mouse1_Z, 0, var.Mouse1_mapZ, 1 ,-1)
}
//Опрос мышек КОНЕЦ ###########
//################### Подменяем оси джойстика на оси мыши #######
// Первый джойстик - управление самолетом
if (Pressed(Key.F10)){ //Включаем карту
if var.map=1 then var.map=0 else var.map=1
if (var.map=1){ //Запоминаем положение курсора
var.x = Mouse.CursorPosX
var.y = Mouse.CursorPosY
}else{
Mouse.CursorPosX = var.x
Mouse.CursorPosY = var.y
}
}
if (var.map=0){
if (Mouse1.RightButton = false) {
if (var.trig_01 = false){
PPJoy1.analog0 = 0
PPJoy1.analog3 = 0
var.trig_02 = false
var.trig_01 = true
} else {
PPJoy1.analog0 = Var.Mouse1_JX // Ось Х
var.k_rud = 0 // + Педали. Коэффициент подбирается индивидуально!
if var.antisht = true then var.k_rud = -1
//#################### Размазанная бочка
if (Key.LeftAlt = true) { //Кнопка LeftAlt = размазанной бочки
var.k_rud = -1
}
PPJoy1.analog3 = Var.Mouse1_JX * var.k_rud
}
} else {
if (var.trig_02 = false){
PPJoy1.analog0 = 0
PPJoy1.analog3 = 0
var.trig_01 = false
var.trig_02 = true
}
PPJoy1.analog3 = Var.Mouse1_JX // Педали
var.k_antikren = 0.25
PPJoy1.analog0 = -Var.Mouse1_JX * 0.15 // + Обратный Крен. Коэффициент подбирается индивидуально!
}
PPJoy1.analog1 = Var.Mouse1_JY // Ось У
PPJoy1.analog2 = Var.Mouse1_JZ
//################ Подменяем кнопки джойстика кнопками нужной мыши #####
PPJoy1.Digital0 = Mouse1.LeftButton
PPJoy .Digital2 = Mouse1.MiddleButton
//PPJoy1.Digital1 = Mouse1.RightButton
//PPJoy1.Digital2 = Mouse1.MiddleButton
PPJoy1.Digital3 = Mouse1.XButton1
PPJoy1.Digital4 = Mouse1.XButton2
// Центрирование осей
if Key.RightAlt = true { //Если нажата кнопка Mouse1 - Эти оси центрируются
Mouse.CursorPosX = screen.DesktopRight/2
Mouse.CursorPosY = screen.DesktopBottom/2
}
Любите небо ,так как,я!!!!Помогайте вирпилам!!!
Ваши права
- Вы не можете создавать новые темы
- Вы не можете отвечать в темах
- Вы не можете прикреплять вложения
- Вы не можете редактировать свои сообщения
-
Правила форума