Wysłany: 2018-07-26, 14:54
czsroka3355
Wiek: 27 Na forum: 3526 dni Posty: 20
Nick w MP: czsrk.
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 ( 50 , 100 , 50 , 100 ) then
startTick = getTickCount ()
alpha = interpolateBetween ( 100 , 0 , 0 , 200 , 0 , 0 , ( getTickCount ()- startTick )/ 1000 , "Linear" )
else
startTick = getTickCount ()
alpha = interpolateBetween ( 200 , 0 , 0 , 100 , 0 , 0 , ( getTickCount ()- startTick )/ 1000 , "Linear" )
end
dxDrawRectangle ( 50 , 100 , 50 , 100 , tocolor ( 255 , 255 , 255 , alpha ), false )
Wysłany: 2018-07-26, 14:58
Hades.
Łiiiiiiiiii
Wiek: 22 Na forum: 4699 dni Posty: 372
Nick w MP: Hades
Piwa : 3214
if isMouseIn ( 50 , 100 , 50 , 100 ) then
startTick = getTickCount ()
alpha = interpolateBetween ( 100 , 0 , 0 , 200 , 0 , 0 , ( getTickCount ()- startTick )/ 1000 , "Linear" )
dxDrawRectangle ( 50 , 100 , 50 , 100 , tocolor ( 255 , 255 , 255 , alpha ), false )
else
startTick = getTickCount ()
alpha = interpolateBetween ( 200 , 0 , 0 , 100 , 0 , 0 , ( getTickCount ()- startTick )/ 1000 , "Linear" )
dxDrawRectangle ( 50 , 100 , 50 , 100 , tocolor ( 255 , 255 , 255 , alpha ), false )
end
Wysłany: 2018-07-26, 15:19
czsroka3355
Wiek: 27 Na forum: 3526 dni Posty: 20
Nick w MP: czsrk.
Nic si? nie zmieni?o, nadal gdy najad? na ten obszar warto?? nie zmienia si? p?ynnie, tylko od razu wskakuje 200
Wysłany: 2018-07-26, 15:30
Hades.
Łiiiiiiiiii
Wiek: 22 Na forum: 4699 dni Posty: 372
Nick w MP: Hades
Piwa : 3214
teraz?
local alphaTick = getTickCount ()
if isMouseIn ( 50 , 100 , 50 , 100 ) then
alphaTick = getTickCount ()
alpha1 = interpolateBetween ( 100 , 0 , 0 , 200 , 0 , 0 , ( getTickCount ()- alphaTick )/ 1000 , "Linear" )
dxDrawRectangle ( 50 , 100 , 50 , 100 , tocolor ( 255 , 255 , 255 , alpha1 ), false )
else
alphaTick = getTickCount ()
alpha2 = interpolateBetween ( 200 , 0 , 0 , 100 , 0 , 0 , ( getTickCount ()- alphaTick )/ 1000 , "Linear" )
dxDrawRectangle ( 50 , 100 , 50 , 100 , tocolor ( 255 , 255 , 255 , alpha2 ), false )
end
Wysłany: 2018-07-26, 16:20
czsroka3355
Wiek: 27 Na forum: 3526 dni Posty: 20
Nick w MP: czsrk.
Wysłany: 2018-07-26, 22:12
Atroth
Wiek: 23 Na forum: 3677 dni Posty: 1089
Nick w MP: Atroth
Piwa : 4808
czsroka3355 , startTick jest ca?y czas "resetowany" przez co nie wykonuje si? interpolacja. Zamiast interpolacji, mo?na u?y? tego sposobu:
-- Przy najechaniu :
alpha = alpha + 1 <= 255 and alpha + 1 or alpha
-- kursor poza prostok ? tem
alpha = alpha - 1 >= 100 and alpha - 1 or 100
Podpis
Użytkownik - 10-05-2016
Support Team - 17.06.2017
Moderator - 25.11.2017
Mod-Team - 02.07.2018
Więcej szczegółów
Wystawiono 1 piw(a):czsroka3355
Wysłany: 2018-07-26, 22:23
czsroka3355
Wiek: 27 Na forum: 3526 dni Posty: 20
Nick w MP: czsrk.
Atroth , wyst?puje b??d DB3 po najechaniu na dany obszar:
Kod:
ERROR: test\client.lua:28 attempt to perform arithmetic on global 'alpha' (a nil value)
ERROR: test\client.lua:26 attempt to perform arithmetic on global 'alpha' (a nil value)
Kod:
dxDrawRectangle ( 50 , 100 , 50 , 100 , tocolor ( 255 , 255 , 255 , alpha ), false )
if isMouseIn ( 50 , 100 , 50 , 100 ) then
alpha = alpha + 1 <= 255 and alpha + 1 or 255 -- LINIJKA 26
else
alpha = alpha - 1 >= 100 and alpha - 1 or 100 -- LINIJKA 28
end
[ Dodano : 2018-07-26, 22:26 ]
Dzi?ki Atroth za pomoc!
---
Do zamkni?cia, naprawi?em b??d!
Tagi: płynna :: zmiana :: wartości :: alphy
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: