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: interpolatebetween
1. interpolateBetween
Mam problem z tym problem

Poprostu mo?e mi kto? wyt?umaczy? ? Widzia?em na Gtao ju? tematy z tym ale dalej nic nie rozumiem

Np. Gdy klikniemy f1 z lewej strony wy?wietla si? przycisk kt?ry wychodzi jak notyfikacje

Wyt?umaczy? podstawy typu jak uzupe?ni? interpolateBetween()
Jak doda? animacje do dxDraw?

Z Wikipedii mta te? nie du?o rozumiem
https://wiki.multitheftauto.com/wiki/InterpolateBetween





Jak rozumiem to nadaje animacje?
2. interpolateBetween
da si? zrobi? w
Kod:

interpolateBetween
animacje kr?cenia?
3. interpolateBetween
Witam, ot?? robi?c skrypt na hud napotka?em na jeden problem. Chc? zrobi? health bar, kt?ry b?dzie si? rusza?. Tzn. je?eli graczowi np. doda HP to pasek si? uzupe?ni. Chodzi mi tutaj o rozwi?zanie z interpolateBetween, ?eby p?ynnie to wygl?da?o. Na ten moment zrobi?em takie co?:

addEventHandler
("onClientRender"root, function()
    if 
getElementData(localPlayer"hud:life") == "1" then
        local health 
getElementHealth(localPlayer)*2.82
        dxDrawImage
(scale(1626), scale(150), scale(294), scale(29), "files/lp_shadow.png"000tocolor(255255255255), true)
        
dxDrawImage(scale(1632), scale(156), scale(health), scale(17), "files/lp.png"000tocolor(255255255255), true)
    else
        return
    
end
end
)

Kod na ten moment dzia?a, lecz chodzi mi o p?ynn? zmian? HP. Dok?adniej chodzi mi o przyk?ad jakiego? if, po kt?ry to si? wykona. Z g?ry dzi?ki.
4. interpolateBetween
Witam, mam pytanie dotycz?ce funkcji interpolateBetween. Ot?? zrobi?em prost? animacj?:

addEventHandler
("onClientRender"root, function()
    for 
o,v in ipairs(notifications) do
        if 
getTickCount() > v[3then
            x 
interpolateBetween(sw/487.5/zoom00sw/960/zoom00, (getTickCount() - v[3])/500"Linear")
            
a1 interpolateBetween(00025500, (getTickCount() - v[3])/500"Linear")
            
a2 interpolateBetween(00017500, (getTickCount() - v[3])/500"Linear")
            
dxDrawImage(sw/547.5/zoom xsh/225 + (75*1)/zoom472.5/zoom60/zoom"files/"..v[1]..".png"000tocolor(255255255a1), true)
            
dxDrawText(v[2], sw/612.5/zoom xsh/205 + (75*1)/zoomnilniltocolor(255255255a2), 1.5/zoomfont"left""center"falsetruetruefalsefalse)
        
end
        
if getTickCount() > v[3] + 3000 then
            table
.remove(notifications1)
        
end
    end
end
)


Chcia?bym teraz doda?, ?e po jakim? czasie animacja zadzia?a w drug? stron? wg. tych samych obiekt?w. Bardziej mi chodzi o wyt?umaczenie, nie chc? gotowego kodu.
5. interpolateBetween :P
Witam, ot?? gdy pr?bowa?em zrobi? animacje do panelu logowania przy pomocy poradnika Mike_ to wyskoczy? warning w db3:


c
.lua39Bad argument 'dxDrawImage' [Expected number at argument 4got nil]


Zdaje mi si? ze ten argument jest jak najbardziej w porz?dku.
Kod:


startTick
=getTickCount()
local x,y,screenW 0.3030screenH 0.3067screenW 0.4200screenH 0.3867
local x1
,y1,z1screenW 0.3030screenH 0.3067screenW 0.3946screenH 0.3867
local a
,b,c,interpolateBetween(x,y,z,x1,y1,z1,(getTickCount()-startTick)/1000,"OutQuad")
    
    
dxDrawImage(a,b,c,d"images/panel-wybor.png"000tocolor(255255255255), false

Pilnie prosze o pomoc.
6. [Poradnik] interpolateBetween
[b]Funkcja podzielona (Serwer i Klient)[/b]

[b]Sk?adnia:[/b]
[lua]
float float float interpolateBetween ( float x1, float y1, float z1, float x2, float y2, float z2, float fProgress, string strEasingType, [ float fEasingPeriod, float fEasingAmplitude, float fEasingOvershoot ] )
[/lua]

[b]InterpolateBetween - jest to interpolacja wektora 3D, kt?ry wylicza pomi?dzy warto?ci? pocz?tkow? a docelow?, mo?na by? r?wnie? stosowana do interopolacji 2D, operuje si? na niej przy pomocy parametr?w x,y,z.[/b]

[b]Wymagane argumenty:[/b]
- x1, y1, z1 - wsp??rz?dne pocz?tkowe wektora 3D lub warto?ci
- x2, y2, z2 - wsp??rz?dne docelowe wektora 3D lub warto?ci
- fProgress - warto?? zmiennoprzecinkowa pomi?dzy 0 a 1, kt?ra to okre?la post?p interpolacji (0 warto?? pocz?tkowa, 1 warto?? docelowa)
- strEasingType - okre?lenie z?agodzenia dla interpolacji (t?umacz?c oznacza to wyb?r profilu funkcji dla naszej interpolacji)

Profile funkcji:
https://wiki.multitheftauto.com/wiki/Easing


[b]Opcjonalne argumenty:[/b]
- fEasingPeriod - Okre?la zmian? dynamiki funkcji (tylko niekt?re funkcje mog? przyjmowa? ten argument) (domy?lnie przyjmuje warto?? 0,3)
- fEasingAmplitude - Okre?la amplitud? dla profilu funkcji (domy?lnie przyjmuje warto?? 1,0)
- fEasingOvershoot - Okre?la regulacje podczas zmiany dynamiki (domy?lnie przyjmuje warto?? 1,701)


[b]Zwroty:[/b]
Zwraca interpolacje 3D wektora x, y, z, w przypadku b??du argumentu przyjmuje warto?? false.

[b]Przyk?ad:[/b]
...
7. interpolateBetween
Witam!

Mam problem z fukcj?
Więcej informacji znajdziesz w Wikipedii MTA:

interpolateBetween


Mam taki kod:


start
=getTickCount()

addEventHandler("onClientRender"root,
function()
        
local now getTickCount()
        
local endTime start 6000
        local elapsedTime 
now start
        local duration 
endTime start
        local progress 
elapsedTime duration
    local x
yinterpolateBetween 
        
0.02, -0.040
        
0.020.540
        
progress"Linear")
    
local x1y1interpolateBetween 
        
0.020.990
        
0.020.670
        
progress"Linear")
GUIEditor.edit[1] = guiCreateEdit(xy0.220.04""true)
GUIEditor.edit[2] = guiCreateEdit(x1y10.220.04""true)
guiEditSetMasked(GUIEditor.edit[2], true
end)


ale po starcie skryptu zamiast przesuwa? mi obiekt to on mi go dubluje i przesuwa przez co wychodzi taki efekt:

Klik...

Za pomoc :piwo: :piwo:
8. interpolateBetween
Witam, mam problem z interpolateBetween.

addCommandHandler("test",
function ()

dx_Image = {}

dx_Image.sTime getTickCount()
dx_Image.sAlpha = {0}
dx_Image.eAlpha = {255}
dx_Image.eTime dx_Image.sTime 5000

addEventHandler
("onClientRender"rootrenderDxDraw)

end)

function 
renderDxDraw()

local now getTickCount()
local elapsedTime now dx_Image.sTime
local duration 
dx_Image.eTime dx_Image.sTime
local progress 
elapsedTime duration

local a1 
unpack(dx_Image.sAlpha)
local a2 unpack(dx_Image.eAlpha)

local a interpolateBetween (
a100,
a200,
progress"Linear")

dxDrawImage(500200400300"logo.png"000tocolor(255,255,255,a), false)

end


Obrazek , kt?ry wykona?em po wpisaniu /test stopniowo przez 5 sekund ma zmieni? alphe z 0 na 255. Problem polega na tym, ?e po wpisaniu nic si? nie dzieje, nie wywala b??du, nie pokazuje obrazka.

U?ywam tego pierwszy raz i wida?, ?e jest to przerobiony przyk?ad z wiki, ale niestety nie wiem co robi?, ?le je?eli nie pokazuje w db b??du.

Z g?ry dzi?kuje za pomoc.
9. interpolateBetween
Witam mam problem z funkcj? interpolateBetween. Mo?e mi kto? wyja?ni? jak u?ywa? tej funkcji i jak j? uzupe?ni? ?