Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2018-02-08, 16:45


IgorPL222

LUA






Wiek: 26
Na forum: 3253 dni
Posty: 133
Nick w MP: mxgvr

Piwa: 746

Respekt: 55,3

Witam! Mam gotowe ruchome obrazki, lecz zwracam si? jak m?g?bym przerobi? ten kod tak, aby po przejechaniu ruchomym obrazkiem w odpowiedni kwadracik narysowany na ekranie, napisa?o na czacie cokolwiek.
kod dotychczasowy, wziety z wiki.

    addEventHandler ( "onClientRender", root,
    function ( )
        local imgX, imgY, imgWidth, imgHeight = 50, 50, 200, 200
        dxDrawImage ( imgX, imgY, imgWidth, imgHeight, ( isMouseInPosition ( imgX, imgY, imgWidth, imgHeight ) and "myImage2.png" or "myImage.png" ), tocolor ( 255, 255, 255 ) )
    end
)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-02-08, 16:52


Grace

Kierowca Pralki






Wiek: 24
Na forum: 3578 dni
Posty: 168
Nick w MP: Grace

Piwa: 1039

Respekt: 35,8

Mamy nasz kod z wikipedii:

function isMouseInPosition ( x, y, width, height )
    if ( not isCursorShowing( ) ) then
        return false
    end
    local sx, sy = guiGetScreenSize ( )
    local cx, cy = getCursorPosition ( )
    local cx, cy = ( cx * sx ), ( cy * sy )
    if ( cx >= x and cx <= x + width ) and ( cy >= y and cy <= y + height ) then
        return true
    else
        return false
    end
end


i teraz, je?eli mamy stworzony obrazek, mamy jego po?o?enie. Tzw. "hover" robimy u?ywaj?c w ten spos?b:

-- w funkcji renderowania
if(isMouseInPosition(x, y, w, h)) then
    -- tutaj to co sie dzieje po najechaniu na obrazek
else
    -- tutaj co sie dzieje gdy kursor nie jest na tym obrazku
end



Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
IgorPL222
Wysłany: 2018-02-08, 17:59


IgorPL222

LUA






Wiek: 26
Na forum: 3253 dni
Posty: 133
Nick w MP: mxgvr

Piwa: 746

Respekt: 55,3

Grace, m?g?bym si? jeszcze dowiedzie? co jest nie tak w kodzie?
B??d?w w debugscript 3 nie ma, a nie czyta mi tego najechania i spamuje informacj? jakbym nie mia? wci?ni?tego

local x, y, w, h = 876, 458, 168, 165
        
addEventHandler ( "onClientRender", root,
function ( btn )
if(isMouseInPosition(x, y, w, h)) and btn == "left" then
    outputChatBox("eloo")
else
    outputChatBox("eloo111")
    end
end)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-02-08, 18:14


NyAngel







Wiek: 23
Na forum: 4091 dni
Posty: 128
Nick w MP: NyAngel

Piwa: 556

Respekt: 86,8


function test (button,state)
if isMouseInPosition(876,458,168,165) and state == "up" then
    outputChatBox("eloo")
end
end
addEventHandler("onClientClick",root,test)


Podpis
Postaw piwo autorowi tego posta
 

 
Tagi: sprawdzanie :: gdzie :: jest :: myszka :: ekranie
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Sprawdzanie gdzie jest myszka na ekranie Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku