PL/onClientClick
From Multi Theft Auto: Wiki
To zdarzenie wywołuje się za każdym razem gdy gracz kliknie myszką. To zdarzenie jest połączone ze światem GTA, w przeciwieństwie do zdarzenia onClientGUIClick które jest używane do GUI. To zdarzenie pozwala na detekcję pozycji kliknięć w świecie 3D.
Parametry
string button, string state, int absoluteX, int absoluteY, float worldX, float worldY, float worldZ, element clickedWorld
- button: Nazwa przycisku myszy którym kliknięto, może to być left, right, lub middle
- state: Stan myszy. up jeśli przycisk jest zwolniony, lub down jeśli przycisk jest kliknięty.
- absoluteX: Ten argument odnosi się do współrzędnej X w 2D miejsca w którym kliknął użytkownik na ekranie i jest to pozycja absolutna w pikselach.
- absoluteY: Ten argument odnosi się do współrzędnej Y w 2D miejsca w którym kliknął użytkownik na ekranie i jest to pozycja absolutna w pikselach.
- worldX: Ten argument odnosi się do współrzędnej X w 3D miejsca w którym kliknął użytkownik na ekranie i jest relatywny do świata GTA.
- worldY: Ten argument odnosi się do współrzędnej Y w 3D miejsca w którym kliknął użytkownik na ekranie i jest relatywny do świata GTA.
- worldZ: Ten argument odnosi się do współrzędnej Z w 3D miejsca w któym kliknął użytkownik na ekranie i jest relatywny do świata GTA.
- clickedWorld: Ten argument reprezentuje jakikolwiek fizyczny byt który został kliknięty. Jeśli gracz kliknął na elemencie który nie należy do MTA, ten argument wynosi false.
Źródło
Źródłem tego zdarzenia jest element główny klienta.
Przykład
Ten przykład tworzy etykietę, która po kliknięciu na element należący do MTA wyświetla jego rodzaj. Znika po pięciu sekundach.
local myLabel = guiCreateLabel ( 0, 0, 1, 1, "", true ) function addLabelOnClick ( button, state, absoluteX, absoluteY, worldX, worldY, worldZ, clickedElement ) --jeśli element został kliknięty na ekranie if ( clickedElement ) then --pobierzmy jego typ local elementType = getElementType ( clickedElement ) --zmieńmy tekst etykiety na ten typ guiSetText ( myLabel, elementType ) --i dajmy ją w miejsce na ekranie gdzie jest element guiSetPosition ( myLabel, absoluteX, absoluteY, false ) --schowajmy tekst po pięciu sekundach setTimer ( guiSetText, 5000, 1, myLabel, "" ) end end addEventHandler ( "onClientClick", getRootElement(), addLabelOnClick )
Zobacz także
Zdarzenia GUI
Input
GUI
- onClientGUIAccepted
- onClientGUIBlur
- onClientGUIChanged
- onClientGUIClick
- onClientGUIComboBoxAccepted
- onClientGUIDoubleClick
- onClientGUIFocus
- onClientGUIMouseDown
- onClientGUIMouseUp
- onClientGUIMove
- onClientGUIScroll
- onClientGUISize
- onClientGUITabSwitched
- onClientMouseEnter
- onClientMouseLeave
- onClientMouseMove
- onClientMouseWheel