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

Wysłany: 2020-03-08, 17:55


AsterBonzo

Otwórz ogień






Wiek: 21
Na forum: 3110 dni
Posty: 187
Nick w MP: Hirahi

Piwa: 61

Respekt: 35,8

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ę :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-03-08, 19:22


Wilq







Wiek: 24
Na forum: 4570 dni
Posty: 3409

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8


Więcej informacji znajdziesz w Wikipedii MTA:

animate


Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-03-09, 18:43


AsterBonzo

Otwórz ogień






Wiek: 21
Na forum: 3110 dni
Posty: 187
Nick w MP: Hirahi

Piwa: 61

Respekt: 35,8

M?g? by? mi to rozpisa? i podpi?? do tego dxDraw? Bo nie wiem jak to u?y? nawet przyk?adami z wiki :(

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-03-09, 19:38


Wilq







Wiek: 24
Na forum: 4570 dni
Posty: 3409

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

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.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-03-09, 20:16


AsterBonzo

Otwórz ogień






Wiek: 21
Na forum: 3110 dni
Posty: 187
Nick w MP: Hirahi

Piwa: 61

Respekt: 35,8

w przyk?adzie to widze ze gui jest zrobione. Ja bym chcia? przyk?ad do dxDraw. Bo totalnie nie wiem jak to zrobi?.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-03-09, 20:29


Wilq







Wiek: 24
Na forum: 4570 dni
Posty: 3409

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

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


Więcej informacji znajdziesz w Wikipedii MTA:

interpolateBetween


Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-03-09, 20:45


AsterBonzo

Otwórz ogień






Wiek: 21
Na forum: 3110 dni
Posty: 187
Nick w MP: Hirahi

Piwa: 61

Respekt: 35,8


    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

Postaw piwo autorowi tego posta
 

 
Tagi: jak :: dodać :: animacje :: grafiki
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA Odpowiedz do tematu

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