iSmokee Posted June 26, 2015 Share Posted June 26, 2015 Hola vengo de nuevo quisiera que me ayuden con una cosa que necesito hacer es lo siguiente.. Quiero que en la pantalla a la derecha y arriba de todo salga un dxDrawText Animado y después de que llegue hasta cierto punto. vuelva y desaparezca seria algo así les dejo la imagen así me entienden gracias Link to comment
Pipee20k Posted June 26, 2015 Share Posted June 26, 2015 moveX = 0 addEventHandler ("onClientRender", root, function () moveX = moveX + 5 dxDraw... (..., posX+moveX, ...) end) Una vez hice algo parecido, con algo parecido a eso Link to comment
iSmokee Posted June 26, 2015 Author Share Posted June 26, 2015 asi seria? moveX = 0 addEventHandler ("onClientRender", root, function () moveX = moveX + 5 dxDrawText("Hello World", posX+moveX, (377/mi_x)*user_x, (332/mi_y)*user_y, (0/mi_x)*user_x, (30/mi_y)*user_y, tocolor ( 255, 255, 255, 255 ), 1, "default-bold") end) Link to comment
Pipee20k Posted June 26, 2015 Share Posted June 26, 2015 moveX = (377/mi_x)*user_x addEventHandler ("onClientRender", root, function () moveX = moveX + 5 dxDrawText("Hello World",moveX, (332/mi_y)*user_y, (0/mi_x)*user_x, (30/mi_y)*user_y, tocolor ( 255, 255, 255, 255 ), 1, "default-bold") end) Link to comment
iSmokee Posted June 26, 2015 Author Share Posted June 26, 2015 Lo acabo de probar y eso no es lo que busco necesito que el dxDrawText y el dxDrawRectangle se muevan y se detengan en cierto punto de la pantalla no me sirve porque sigue moviéndose y quiero que se detenga Link to comment
Tomas Posted June 26, 2015 Share Posted June 26, 2015 Lo acabo de probar y eso no es lo que busco necesito que el dxDrawText y el dxDrawRectangle se muevan y se detengan en cierto punto de la pantalla no me sirve porque sigue moviéndose y quiero que se detenga ¿En cuál cierto punto? Link to comment
iSmokee Posted June 26, 2015 Author Share Posted June 26, 2015 Hasta aca porque estoy haciendo un script de comida y quiero que cuando le des click al boton te salga que has comprado eso o si no tienes dinero etc.. Me entendieron?? Link to comment
Tomas Posted June 26, 2015 Share Posted June 26, 2015 Hasta aca porque estoy haciendo un script de comida y quiero que cuando le des click al boton te salga que has comprado eso o si no tienes dinero etc.. Me entendieron?? No. Link to comment
MTA Team 0xCiBeR Posted June 26, 2015 MTA Team Share Posted June 26, 2015 Si es algo lineal podes utilizar getTickCount o simplemente aumentar o reducir tu variable usando condicionales. Recuerda que onClientRender se ejecuta hasta 100 veces por segundo, por lo tanto, si aumentas la variable +5 se va a salir de la pantalla en un abrir y cerrar de ojos. Link to comment
iSmokee Posted June 26, 2015 Author Share Posted June 26, 2015 me darías un ejemplo?? Link to comment
Tomas Posted June 26, 2015 Share Posted June 26, 2015 Si es algo lineal podes utilizar getTickCount o simplemente aumentar o reducir tu variable usando condicionales. Recuerda que onClientRender se ejecuta hasta 100 veces por segundo, por lo tanto, si aumentas la variable +5 se va a salir de la pantalla en un abrir y cerrar de ojos. Hahaha, no en mi PC Link to comment
alex17 Posted June 27, 2015 Share Posted June 27, 2015 yo lo aria con interpolateBetween Link to comment
MTA Team 0xCiBeR Posted June 27, 2015 MTA Team Share Posted June 27, 2015 Usar interpolateBetween para una interpolación linear es ineficiente por el consumo que usa esa función. Para algo lineal, lo mejor es o aumentar una variable, o usar getTickCount para establecer posición. @Smoke, intenta hacerlo como te explique, si no te funciona, te ayudaremos a corregirlo. Es muy sencillo, simplemente usa condicionales y en vez de sumar +5, utiliza un valor menor como +0.01 Link to comment
iSmokee Posted June 27, 2015 Author Share Posted June 27, 2015 function startgetTickCount() start = getTickCount() end addEventHandler ( "onClientResourceStart", root, startgetTickCount) function Linea() now = getTickCount() count = now - start dxDrawRectangle ((1360/mi_x)*user_x, (200/mi_y)*user_y, (count/-8/mi_x)*user_x, (30/mi_y)*user_y, tocolor( 0, 0, 0, 150), false ) end addEventHandler("onClientRender", root, Linea) Ahora como hago para que se detenga?? Link to comment
MTA Team 0xCiBeR Posted June 27, 2015 MTA Team Share Posted June 27, 2015 function startgetTickCount() start = getTickCount() end addEventHandler ( "onClientResourceStart", root, startgetTickCount) local max = 10 -- Definir valor maximo local count = 0 -- Definimos el contador function Linea() if count < max then now = getTickCount() count = now - start else end dxDrawRectangle ((1360/mi_x)*user_x, (200/mi_y)*user_y, (count/-8/mi_x)*user_x, (30/mi_y)*user_y, tocolor( 0, 0, 0, 150), false ) end addEventHandler("onClientRender", root, Linea) Link to comment
iSmokee Posted June 28, 2015 Author Share Posted June 28, 2015 function startgetTickCount() start = getTickCount() end addEventHandler ( "onClientResourceStart", root, startgetTickCount) local max = 2000 -- Definir valor maximo local count = 0 -- Definimos el contador function Linea() if count < max then now = getTickCount() count = now - start else end dxDrawRectangle ((1110/mi_x)*user_x, (200/mi_y)*user_y, (count/8/mi_x)*user_x, (30/mi_y)*user_y, tocolor( 0, 0, 0, 150), false ) dxDrawRectangle ((1100/mi_x)*user_x, (200/mi_y)*user_y, (10/mi_x)*user_x, (30/mi_y)*user_y, tocolor( 0, 255, 0, 255), false ) dxDrawTextPerLetter ( 'Has comprado una Pizza-HEAL', (1150/mi_x)*user_x, (207/mi_y)*user_y, (0/mi_x)*user_x, (30/mi_y)*user_y, tocolor ( 255, 255, 255, 255 ), 1, "default-bold" ) end addEventHandler("onClientRender", root, Linea) setTimer (function() removeEventHandler("onClientRender",root,Linea) end, 3000, 1) Ahora como puedo hacer para que desaparezca lentamente asi tipo que va perdiendo alpha. perdón por pedir tantas ayudas :c Link to comment
MTA Team 0xCiBeR Posted June 28, 2015 MTA Team Share Posted June 28, 2015 function startgetTickCount() start = getTickCount() end addEventHandler ( "onClientResourceStart", root, startgetTickCount) local max = 2000 -- Definir valor maximo local count = 0 -- Definimos el contador local alpha = 255 function Linea() if count < max then now = getTickCount() count = now - start else end if alpha > 0 then alpha = alpha - 0.10 else end dxDrawRectangle ((1110/mi_x)*user_x, (200/mi_y)*user_y, (count/8/mi_x)*user_x, (30/mi_y)*user_y, tocolor( 0, 0, 0, alpha), false ) dxDrawRectangle ((1100/mi_x)*user_x, (200/mi_y)*user_y, (10/mi_x)*user_x, (30/mi_y)*user_y, tocolor( 0, 255, 0, alpha), false ) dxDrawTextPerLetter ( 'Has comprado una Pizza-HEAL', (1150/mi_x)*user_x, (207/mi_y)*user_y, (0/mi_x)*user_x, (30/mi_y)*user_y, tocolor ( 255, 255, 255, alpha ), 1, "default-bold" ) end addEventHandler("onClientRender", root, Linea) setTimer (function() removeEventHandler("onClientRender",root,Linea) end, 3000, 1) Link to comment
iSmokee Posted June 29, 2015 Author Share Posted June 29, 2015 Mmm.. eso no funciono @.:CiBeR:. yo quiero que cuando se va remover el dxDrawRectangle todo se valla pero disminuyendo el alpha no se como se diría pero espero que me entiendas D: Link to comment
Recommended Posts