Jelentkezz be, hogy követhesd  
Követő(k) 0
Maxika

hud mozgatás

4 hozzászólás ebben a témában

Sziasztok!

Nem rég scriptelek, csupán csak 2 napja, ezért előre elnézést ha hülyeséget írok le/kérdezek.

Nos szeretnék egy olyat csinálni, hogy van egy dxDrawText-em, ami az óra jelen esetben. Kurzor-t behozom Mbetűvel, és ha rákattintok a kurzoromnak a pozícióján lesz állandóan az óra, amíg el nem engedem. Ezt hogy oldahatom meg?

Próbálgattam, de ssak a jobb felső sarokban van az óra ha előhozom a kurzort. 

help1.png

 

Idáig juttottam el:

	function cursor ()
    showCursor(not isCursorShowing())
end
bindKey ("m", "down", cursor)
addCommandHandler ( "cursor", cursor )
	
local x,y = guiGetScreenSize()
oX, oY = 1280, 768
	function hud ()
    local time = getRealTime()
    local cursorX, cursorY = getCursorPosition()
    
    dxDrawText (time.hour .. ":" .. time.minute, cursorX, cursorY, _, _, 0xcff00ff00, 2.1/oX*x, "pricedown", "left", "top")
end
addEventHandler ("onClientRender", root, hud)
	

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon

kurzor poziciókat szorozd meg a képernyőmérettel.

cursorX * x

cursorY * y

akkor kapsz majd egy rendes képernyőméretet, így mostmár követni fogja a kurzort.

1 személy kedveli ezt

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon

Köszi szépen. Esetleg azt tudja még valaki hogy hogyan tudom megoldani hogy csak akkor kövesse ha ràkattintok? És hogy ott mentse le ahova hùzom?

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon

Elküldve (szerkesztve)

Nem tudok magyarázni, a menet ugyanaz.

local screenW, screenH = guiGetScreenSize()
local rectangleW, rectangleH =  300, 200
local rectangleX, rectangleY = screenW/2 - rectangleW/2, screenH/2 - rectangleH/2
local rectangleMovingOffsetX, rectangleMovingOffsetY = 0, 0
local rectangleIsMoving = false

addEventHandler("onClientRender", root, function()
	dxDrawRectangle(rectangleX, rectangleY, rectangleW, rectangleH, tocolor(0, 0, 0, 150))
end)

addEventHandler("onClientKey", root, function(button, state)
	if button == "m" and state then
		showCursor(not isCursorShowing())
	end
end)

addEventHandler("onClientClick", root, function(button, state, cursorX, cursorY)
	if button == "left" and state == "down" then
		if isCursorInPosition(rectangleX, rectangleY, rectangleW, rectangleH) then
			rectangleIsMoving = true
			rectangleMovingOffsetX, rectangleMovingOffsetY = cursorX - rectangleX, cursorY - rectangleY
		end
	else
		rectangleIsMoving = false
	end
end)

addEventHandler("onClientCursorMove", root, function(_, _, absoluteX, absoluteY)
	if rectangleIsMoving then
		rectangleX, rectangleY = absoluteX - rectangleMovingOffsetX, absoluteY - rectangleMovingOffsetY
	end
end)

function isCursorInPosition(rectX, rectY, rectW, rectH)
	local cursorX, cursorY = getCursorPosition()
	cursorX, cursorY = cursorX * screenW, cursorY * screenH
	return (cursorX >= rectX and cursorX <= rectX+rectW) and (cursorY >= rectY and cursorY <= rectY+rectH)
end

 

Szerkesztve impreZZa által

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon

Regisztrálj vagy jelentkezz be, hogy válaszolhass

Csak felhasználóként kommentelhetsz.

Regisztrálj

Légy közösségünk tagja még ma! Csak fél perc.


Regisztrálok

Jelentkezz be

Már van felhasználód? Lépj be!


Bejelentkezek
Jelentkezz be, hogy követhesd  
Követő(k) 0