Wysłany: 2020-03-08, 17:55
AsterBonzo
Otwórz ogień
Wiek: 19 Na forum: 2465 dni Posty: 187
Nick w MP: Hirahi
Piwa : 60
Witam mam pytanie jak zrobi? animacje do grafiki?
Chodzi mi o tak? jak np na paradise w logowaniu ?e grafika przyciskow sie przesuwa .
(je?eli kto? wie jak to prosze o pomoc! daje piwko i repute)
Kawa?ek kodu do kt?rego chce animacje:
if isMouseIn ( sx / 2 + 364 / zoom , sy / 2 - 370 / zoom , 364 / zoom , 316 / zoom ) then
dxDrawImage ( sx / 2 + 364 / zoom , sy / 2 - 370 / zoom , 364 / zoom , 316 / zoom , "img/main/register_button_active.png" , 0 , 0 , 0 , tocolor ( 255 , 255 , 255 , 255 ), false )
else
dxDrawImage ( sx / 2 + 364 / zoom , sy / 2 - 370 / zoom , 364 / zoom , 316 / zoom , "img/main/register_button.png" , 0 , 0 , 0 , tocolor ( 255 , 255 , 255 , 255 ), false )
end -- register
if isMouseIn ( sx / 2 + 60 / zoom , sy / 2 - 202.5 / zoom , 364 / zoom , 316 / zoom ) then
dxDrawImage ( sx / 2 + 60 / zoom , sy / 2 - 202.5 / zoom , 364 / zoom , 316 / zoom , "img/main/login_button_active.png" , 0 , 0 , 0 , tocolor ( 255 , 255 , 255 , 255 ), false )
else
dxDrawImage ( sx / 2 + 60 / zoom , sy / 2 - 202.5 / zoom , 364 / zoom , 316 / zoom , "img/main/login_button.png" , 0 , 0 , 0 , tocolor ( 255 , 255 , 255 , 255 ), false )
end -- login
if isMouseIn ( sx / 2 + 364 / zoom , sy / 2 - 35 / zoom , 364 / zoom , 316 / zoom ) then
dxDrawImage ( sx / 2 + 364 / zoom , sy / 2 - 35 / zoom , 364 / zoom , 316 / zoom , "img/main/changes_button_active.png" , 0 , 0 , 0 , tocolor ( 255 , 255 , 255 , 255 ), false )
else
dxDrawImage ( sx / 2 + 364 / zoom , sy / 2 - 35 / zoom , 364 / zoom , 316 / zoom , "img/main/changes_button.png" , 0 , 0 , 0 , tocolor ( 255 , 255 , 255 , 255 ), false )
end -- changes
Podpis
Pomagam jak potrafię
Wysłany: 2020-03-08, 19:22
Wilq
Wiek: 22 Na forum: 3926 dni Posty: 3410
Piwa : 739
Więcej informacji znajdziesz w Wikipedii MTA: animate
Wysłany: 2020-03-09, 18:43
AsterBonzo
Otwórz ogień
Wiek: 19 Na forum: 2465 dni Posty: 187
Nick w MP: Hirahi
Piwa : 60
M?g? by? mi to rozpisa? i podpi?? do tego dxDraw? Bo nie wiem jak to u?y? nawet przyk?adami z wiki
Wysłany: 2020-03-09, 19:38
Wilq
Wiek: 22 Na forum: 3926 dni Posty: 3410
Piwa : 739
Funkcja animate po prostu Ci leci od danej liczby do drugiej liczby, czyli np. od 100 do 400. Funkcja w ostatnim argumencie okre?la co ma si? dzia? z ka?d? zmian? warto?ci - ty pewnie chcesz zmienia? pozycj? w osi X wi?c okre?lasz to jako pozycj? X.
Gotowe skrypty tutaj: https://gtao.pl/szukam-skryptu-modelu-mta-vt5443.htm
lub u mnie w popisie
Prosty przyk?ad:
-- Slide Animation
local sx , sy = guiGetScreenSize ( )
local window = guiCreateWindow (( sx - 300 )/ 2 , ( sy - 400 )/ 2 , 300 , 400 , "Test" , false )
guiSetVisible ( window , false )
bindKey ( "f2" , "down" , function( )
if anim then return end
local v = guiGetVisible ( window )
if not v then
guiSetVisible ( window , true )
animate ( 0 , 1 , 1 , 1000 , function( alpha )
guiSetAlpha ( window , alpha )
end )
end
anim = true
animate ( v and 400 or 0 , v and 0 or 400 , 2 , 1250 , function( height )
if v and height == 0 then
guiSetVisible ( window , false )
anim = false
elseif not v and height == 400 then
anim = false
end
local w , h = guiGetSize ( window , false )
guiSetSize ( window , w , height , false )
end )
end )
kt?ry robi animacj? od do?u do pozycji 400 w osi Y.
Wysłany: 2020-03-09, 20:16
AsterBonzo
Otwórz ogień
Wiek: 19 Na forum: 2465 dni Posty: 187
Nick w MP: Hirahi
Piwa : 60
w przyk?adzie to widze ze gui jest zrobione. Ja bym chcia? przyk?ad do dxDraw. Bo totalnie nie wiem jak to zrobi?.
Wysłany: 2020-03-09, 20:29
Wilq
Wiek: 22 Na forum: 3926 dni Posty: 3410
Piwa : 739
Racja, dla directx to troch? inaczej.
Przyk?ad na dole:
local tick , toggle , x , y
local sx , sy = guiGetScreenSize ()
function togglethat ()
if not ( toggle ) then
tick = getTickCount ()
toggle = true
else
toggle = false
end
end
addCommandHandler ( "toggleit" , togglethat )
function renderAnim ()
if ( toggle ) then
local p = ( getTickCount () - tick ) / 500
x , y = interpolateBetween ( sx , sy , 0 , 390 , 173 , 0 , p , "Linear" )
dxDrawRectangle ( x , y , 422 , 424 , tocolor ( 0 , 0 , 0 , 217 ), false )
dxDrawRectangle ( x , y - 4 , 422 , 21 , tocolor ( 52 , 78 , 208 , 255 ), false )
dxDrawText ( "Welcome to the server\nWelcome\nEnjoy\nSome random text" , x + 34 , y + 68 , x + 362 , y + 317 , tocolor ( 255 , 255 , 255 , 255 ), 1.00 , "default" , "left" , "top" , false , false , false , false , false )
end
end
addEventHandler ( "onClientRender" , root , renderAnim )
Tutaj nie u?ywasz ju? animate a samej funkcji interpolateBetween
Wysłany: 2020-03-09, 20:45
AsterBonzo
Otwórz ogień
Wiek: 19 Na forum: 2465 dni Posty: 187
Nick w MP: Hirahi
Piwa : 60
local p = ( getTickCount () - tick1 ) / 500
animation1 = interpolateBetween ( 364 , 316 , 0 , 370 , 185 , 0 , p , "Linear" )
Zrobi?em co? takiego i nie dzia?a przycisk jak sta? tak stoi
Tagi: jak :: dodać :: animacje :: grafiki
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: