Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.
GTAONLINE.PL
Tematy otagowane jako: płynna
1. dxDraw płynna zmiana szerokości
Witam, mam pytanie. Jak zrobi?, aby w dxDrawRectangle zmienia?a si? p?ynnie szeroko??. Zrobi?em kod, kt?ry zmienia szeroko??, lecz szeroko?? powi?ksza si? tylko w praw? stron?, a ja chcia?bym na obie. Mam te? jeszcze jedno pytanko, czy jest jaka? funkcja, czy co?, kt?ra zmieni t? szeroko?? p?ynnie. My?la?em nad
Kod:

setTimer()
, lecz czy istnieje mo?e jaka? funkcja, kt?ra to zrobi?
Kod:


szerokosc = 160
color1 = tocolor(26, 26, 26, 255)

addEventHandler("onClientRender", root,
function()
if pokaz == true then
dxDrawRectangle(699, 456, szerokosc, 41, color1, false)
showCursor(true)
end
end)

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

function hover1()
if isMouseInPosition(699, 456, 160, 41) and pokaz == true then
color1 = tocolor(13, 13, 13, 244)
szerokosc = 170
else
color1 = tocolor(26, 26, 26, 255)
szerokosc = 160
end
end
addEventHandler("onClientCursorMove", getRootElement(), hover1)


Za pomoc stawiam oczywi?cie :D :arrow: :piwo:
2. Płynna zmiana wartości alphy
Posiadam taki kod, kt?ry po najechaniu na dxDrawRectangle musi p?ynnie zmieni? warto?? alphy z 100 na 200. Gdy naje?d?am interpolateBetween wcale si? nie wykonuje, po prostu jakbym ustawi? po najechaniu alpha 200, a po za obszarem rectangle 100.
Co mam poprawi??

if isMouseIn(5010050100then
    startTick 
getTickCount()
    
alpha interpolateBetween(1000020000, (getTickCount()-startTick)/1000"Linear")
else
    
startTick getTickCount()
    
alpha interpolateBetween(2000010000, (getTickCount()-startTick)/1000"Linear")
end
dxDrawRectangle
(5010050100tocolor(255255255alpha), false)
3. [SKRYPT] Płynna zmiana wartości
[b]Witaj [color=lime][you][/color][/b], chcia?bym przedstawi? skrypt a raczej funkcj? kt?ra dzia?a na zasadzie [b]InterpolateBetween[/b]

Czym jest przedstawiona funkcja wy?ej ( [b]InterpolateBetween [/b]) ?
Ta funkcja zmienia np. z 100 na 200 w spos?b automatyczny(dynamiczny), to znaczy p?yn? np. przemieszczanie gui.

Co oferuje m?j kod na dzie? dzisiejszy ?
[list]Ustawienie ile ma doda? co sekwencje
Ilo?? sekwencji
Pozycje pocz?tkow?
Ustawienie czy ma odejmowa? czy dodawa?
Odczyt funkcji i ich parametr?w ( przy pomocy loadstring )
[/list]

Sk?adnia funkcji:
[lua]interpolateMove (postion, ins, max, dzki, name, ...)[/lua]
[list]postion - pozycja pocz?tkowa
ins - ilo?? zmieniania warto?ci co sekwencje
max - ilos? sekwencji
dzki - Ustawienie czy ma dodawa? czy odejmowa? ( 1 - dodawanie, 2 - odejmowanie )
name - Nazwa funkcji kt?ra ma by? wykonywana (np. guiSetAlpha )
... - Argumenty funkcji ( name ) (np. w w wypadku guiSetAlpha to guiElement, "arg" )
arg - arg musi by? u?yte w argumentach gdzie b?dzie zmieniana warto?? [/list]

Kod funkcji:
[hide]Wiadomość została ukryta, aby ją przeczytać należy się zalogować.[/hide]
[b][center]( dodanie na g?rze twojego kodu ! TYLKO PO STRONIE CLIENT ! )[/center][/b]

Przyk?ad u?ycia:
[lua]local window = guiCreateWindow( 0.0, 0, 0.5, 0.5, "asd", true)

function testing ()
interpolateMove (0, 0.01, 100, 1, "guiSetPosition", window, "arg", 0, true)
-- 0 - pozycja pocz?...