GI.MouseCaptured

From SunFlurry wiki
Jump to: navigation, search
  MouseCaptured (Общие функции объекта GI)
Объект:Объект GI
Статус разработки: Реализована
Тип:Атрибут
Обращение к БД:Нет
Доступность:Только чтение
Визуальность:Да

Атрибут отдает 1, если мышь захвачена в данный момент и 0 в другом случае. См. также MouseMode.

Синтаксис

GI.MouseCaptured:<Захвачена ли мышь (INT)>

Возвращаемое значение

Атрибут возвращает целое число.

Примеры

//Событие движения мыши и нажатия на клавиши
Function OnNewInput(aGI,СпУскор,ТипСобытия,Арг1,Арг2,Арг3,Арг4)
  If ТипСобытия=0 Then
    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
      СпУскор[3]:=1;
    ElseIf (Арг1=0x53)Or(Арг1=0x28) Then//S
      СпУскор[3]:=-1;
    ElseIf (Арг1=0x51)Or(Арг1=0x25) Then//Q
      СпУскор[1]:=-1;
    ElseIf (Арг1=0x45)Or(Арг1=0x27) Then//E
      СпУскор[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//W
      СпУскор[3]:=0;
    ElseIf ((Арг1=0x53)Or(Арг1=0x28))And(СпУскор[3]=-1) Then//S
      СпУскор[3]:=0;
    ElseIf ((Арг1=0x51)Or(Арг1=0x25))And(СпУскор[1]=-1) Then//Q
      СпУскор[1]:=0;
    ElseIf ((Арг1=0x45)Or(Арг1=0x27))And(СпУскор[1]=1) Then//E
      СпУскор[1]:=0;
    ElseIf _Or(Арг1=0x20,Арг1=0x41) Then//A
      СпУскор[2]:=0;
    EndIf;
  ElseIf ТипСобытия=21 Then//focus off
    aGI.ReleaseMouse();
  EndIf;
EndFunction