GI.ReleaseMouse
ReleaseMouse (Общие функции объекта GI) | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
В зависимости от режима захвата мыши MouseMode, функция отображает ранее спрятанный курсор мыши, если захват был выполнен ранее.
Синтаксис
GI.ReleaseMouse()
Примеры
//Событие движения мыши и нажатия на клавиши Function OnNewInput(aGI,СпУскор,ТипСобытия,Арг1,Арг2,Арг3,Арг4) If ТипСобытия=0 Then //Движение мыши -- обновить переменные поворота //Арг2, Арг3 -- смещение мыши по X и Y относительно окна прорисовки If aGI.MouseCaptured Then СпУскор[4]:=Арг2-aGI.Width div 2; СпУскор[5]:=Арг3-aGI.Height div 2; EndIf; ElseIf ТипСобытия=1 Then //Нажатие мыши на экран, захватить мышь aGI.CaptureMouse(); ElseIf ТипСобытия=11 Then //Клавиша нажата If (Арг1=0x57)Or(Арг1=0x26) Then//W или стрелка вперед -- движение по Z СпУскор[3]:=1; ElseIf (Арг1=0x53)Or(Арг1=0x28) Then//S или стрелка назад -- движение по Z СпУскор[3]:=-1; ElseIf (Арг1=0x51)Or(Арг1=0x25) Then//Q или стрелка влево -- движение по X СпУскор[1]:=-1; ElseIf (Арг1=0x45)Or(Арг1=0x27) Then//E или стрелка вправо -- движение по X СпУскор[1]:=1; ElseIf (Арг1=0x20)Or(Арг1=0x41) Then//A или пробел -- прыжок СпУскор[2]:=1; ElseIf Арг1=0x1B Then//ESC -- отпустить мышь aGI.ReleaseMouse(); EndIf; ElseIf ТипСобытия=12 Then //Клавиша отпущена If ((Арг1=0x57)Or(Арг1=0x26))And(СпУскор[3]=1) Then//Отменить движение по Z, если оно было инициировано W СпУскор[3]:=0; ElseIf ((Арг1=0x53)Or(Арг1=0x28))And(СпУскор[3]=-1) Then//Отменить движение по Z, если оно было инициировано S СпУскор[3]:=0; ElseIf ((Арг1=0x51)Or(Арг1=0x25))And(СпУскор[1]=-1) Then//Отменить движение по X, если оно было инициировано Q СпУскор[1]:=0; ElseIf ((Арг1=0x45)Or(Арг1=0x27))And(СпУскор[1]=1) Then//Отменить движение по X, если оно было инициировано E СпУскор[1]:=0; ElseIf _Or(Арг1=0x20,Арг1=0x41) Then//Отменить прыжок СпУскор[2]:=0; EndIf; ElseIf ТипСобытия=21 Then//Потеря фокуса окном, отпустить мышь aGI.ReleaseMouse(); EndIf; EndFunction