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

Wysłany: 2020-09-22, 09:51


MartinPanZycia

Zielony w LUA






Wiek: 27
Na forum: 3869 dni
Posty: 477
Nick w MP: Rodzaje

Piwa: 877

Respekt: 70,5

Ostrzeżeń: 40%
Cze??, aktualnie chce aby zdjecie porusza?o si? z do?u do g?ry.
Szuka?em na wiki jaki? porad i pomocy lecz chyba ?le szuka?em bo nic nie znalaz?em.
Wiem ,?e jako grono ekspert?w wskazecie mi kierunek

dxDrawImage(1374, 316, 523, 677, "exe.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
na 
dxDrawImage(1800, 0, 523, 677, "exe.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)

w sensie p?ynne przej?cie czyli jakby animowane

Podpis
Cześć w MTA jestem jako Rodzaje.
Wszystko jest po staremu nie zamierzam stawiać RPG.
Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-09-22, 10:48


Wilq







Wiek: 24
Na forum: 4569 dni
Posty: 3409

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8


Więcej informacji znajdziesz w Wikipedii MTA:

animate


lub sama funkcja

Więcej informacji znajdziesz w Wikipedii MTA:

interpolateBetween


Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
MartinPanZycia
Wysłany: 2020-09-23, 19:44


MartinPanZycia

Zielony w LUA






Wiek: 27
Na forum: 3869 dni
Posty: 477
Nick w MP: Rodzaje

Piwa: 877

Respekt: 70,5

Ostrzeżeń: 40%
Wilq,
interpolateBetween wydaje mi si? przyja?niejsze
teraz tak widze ,?e Wiki da?o tam przyk?ad to

function Wilqu()
dxDrawImage(1374, 316, 523, 677, "exe.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
end

function()
now = getTickCount()
    local elapsedTime = now - g_Window.startTime
    local duration = g_Window.endTime - g_Window.startTime
    local progress = elapsedTime / duration
    
    local width, height, _ = interpolateBetween ( 
        g_Window.startSize[1], g_Window.startSize[2], 0, 
        g_Window.endSize[1], g_Window.endSize[2], 0, 
        progress, "InQuad")
end

i ja to zrobilem tak
g_Window.startTime = getTickCount()
g_Window.endTime = g_Window.startTime + 1000

function()
now = getTickCount()
    local elapsedTime = now - g_Window.startTime
    local duration = g_Window.endTime - g_Window.startTime
    local progress = elapsedTime / duration
    
    local width, height, _ = interpolateBetween ( 
        1374, 316, 0,  -- 0 jest zostawiam bo nie chce by by?o 3 czyli vektoru 
        1374+400, 316, 0, -- chodzi mi o ca?o?? czy musialbym robic pojedynczo jesli chodzi o DxDrawIamge ze np. mam 4 takie to musze kazdym pojedynczo zmieniac kordy
        progress, "InQuad")
end

i mam pytanie czy ca?o?? OnClientRender nie m?gbym zrobi? ,?e podwy?sza si? np. +400


Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-09-23, 20:48


Wilq







Wiek: 24
Na forum: 4569 dni
Posty: 3409

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Tylko Tw?j kod kt?ry wklei?e? ma si? nijak do wysoko?ci obrazka - nic z nim nie robi. Funkcja animate zwraca Ci od razu dan? wysoko??, kt?r? wklejasz w 2 argument dxDrawImage. I to wszystko, z ca?? funkcj? interpolateBetween jest wi?cej zabawy - dlatego polecam animate, kt?re bardzo szybko zanimuje Ci obrazek.

Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
MartinPanZycia
Wysłany: 2020-09-24, 16:32


MartinPanZycia

Zielony w LUA






Wiek: 27
Na forum: 3869 dni
Posty: 477
Nick w MP: Rodzaje

Piwa: 877

Respekt: 70,5

Ostrzeżeń: 40%
Wilq, okay

function Wilqu()
dxDrawImage(1374, 316, 523, 677, "exe.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
end

animate(v and 400 or 0, v and 0 or 400, 2, 1250, function(height)) -- czy raczej

animate(1374, 1800, 2, 1250, Wilqu)
-- tylko sk?d b?dzie wiedzia?o ,?e chodzi o kordy height?
teraz przeczytalem to z 15 razy chodzi?o ci o np.

function Wilqu()
dxDrawImage(animate(1374, 1800, 2, 1250), 316, 523, 677, "exe.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
end
- tak mia?em to wykona? ??


Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-09-24, 23:15


Wilq







Wiek: 24
Na forum: 4569 dni
Posty: 3409

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Przeczytaj na wiki funkcji co ona zwraca, zak?adka "Return".

Funkcja z 5 argumentu zawiera argument pozycji. T? liczb? musisz zapisa? w innej zmiennej i wtedy t? zmienna wstawi? w konkretny argument od funkcji dxDrawImage.

Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
MartinPanZycia
Wysłany: 2020-09-25, 18:35


MartinPanZycia

Zielony w LUA






Wiek: 27
Na forum: 3869 dni
Posty: 477
Nick w MP: Rodzaje

Piwa: 877

Respekt: 70,5

Ostrzeżeń: 40%
Wilq,
ok dzi?kuj? za pomoc

wi?c analogicznie, dopinaj?c temat:

function Dziendobry()
animate(1374, 1800, 2, 1250, function (x)
dxDrawImage(x, 316, 523, 677, "exe.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
return -- kazales mi u?ywa? return ale jedyne jaki zawsze znalem to return w IF np. if return end
end)
end


Chyba mi dobrze posz?o jak na starego g?upca.
Powiedz co s?dzisz o tym przyjacielu

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-09-25, 18:44


Wilq







Wiek: 24
Na forum: 4569 dni
Posty: 3409

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Troszk? inaczej - zak?adam ?e ta funkcja masz pod onClientRender tak?


local zmienna_h = 1374

function Dziendobry()
    dxDrawImage(zmienna_h, 316, 523, 677, "exe.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
end

animate(1374, 1800, 2, 1250, function (height)
    zmienna_h = height
end)


Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
MartinPanZycia
Wysłany: 2020-09-26, 15:39


MartinPanZycia

Zielony w LUA






Wiek: 27
Na forum: 3869 dni
Posty: 477
Nick w MP: Rodzaje

Piwa: 877

Respekt: 70,5

Ostrzeżeń: 40%
Wilq,
mam tak i nie przesuwa sie na kordy 1800 tylko stoi w miejscu

function Reder()
addEventHandler("onClientRender",root,Dziendobry)
animate(1374, 1800, 2, 4000, function (height)
    zmienna_h = height
end)
end


Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-09-26, 16:40


Wilq







Wiek: 24
Na forum: 4569 dni
Posty: 3409

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Poka? ca?y kod

Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
MartinPanZycia
Wysłany: 2020-09-27, 10:09


MartinPanZycia

Zielony w LUA






Wiek: 27
Na forum: 3869 dni
Posty: 477
Nick w MP: Rodzaje

Piwa: 877

Respekt: 70,5

Ostrzeżeń: 40%
ok
tak jak m?wi?em nie pojawia si? ?adna animacja a ci?gle stoi w kordach 1374

local zmienna_h = 1374

function Dziendobry()
    dxDrawImage(zmienna_h, 316, 523, 677, "Bank/martin_exe.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
end

function Dziendobr()
addEventHandler("onClientRender",root,Dziendobry)
animate(1374, 1800, 2, 4000, function (height)
    zmienna_h = height
end)
end
addEvent("Dziendobr",true)
addEventHandler("Dziendobr",getRootElement(),Dziendobr)


i
s-side

triggerClientEvent(gracz,"Dziendobr",gracz)

edit:

OMG zapomnia?em wklei? kodu z wiki... zaraz sprawdz? 14:50

okay super!!! To dzia?a, my?la?em ,ze to b?dzie najci??sza cz??? mojej nauki w lua, ale super wyt?umaczonko dzi?ki wielki

Postaw piwo autorowi tego posta
 

 
Tagi: poruszanie :: dxdrawimage
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