AlFA# Posted December 29, 2015 Share Posted December 29, 2015 Buenas, tengo un problema y la verdad, que no se como hacerlo y es que necesito que una animación creada con interpolateBetween y es que solo la carga 1 vez, las demás es como si no leeyera el código. Aquí dejo una prueba de lo que me pasa: https://gyazo.com/1878844b68bdac9da7ed767bd0d9312f Añado: Solo digo la anim, que no se repite, lo demás lo tengo que terminar. if anim == false then anim = true; start = getTickCount() end local now = getTickCount() local endTime = start + 2000 local elapsedTime = now - start local duration = endTime - start local progress = elapsedTime / duration local x = interpolateBetween(0, 0, 0, 332, 0, 0, progress, "OutQuad") dxDrawRectangle( x - 5, window.snapTop and 0 or ( y - 5 ), width + 10, window.snapTop and window.snapBottom and screenY or not window.snapTop and window.snapBottom and ( screenY - x + 5 ) or ( height + 10 ), tocolor( 255, 255, 255, 255 ), backgroundPostGui, false ) Link to comment
Alexs Posted December 29, 2015 Share Posted December 29, 2015 No uses 'interpolateBetween', además te dejo un tutorial de Lua para que revises: http://www.lua.org/pil/1.html Link to comment
AlFA# Posted December 29, 2015 Author Share Posted December 29, 2015 No uses 'interpolateBetween', además te dejo un tutorial de Lua para que revises:http://www.lua.org/pil/1.html ¿Tu que me recomiendas? Link to comment
Alexs Posted December 29, 2015 Share Posted December 29, 2015 Mi intención era molestar, pero supongo que no funcionó. La librería de easing de EmmanuelOga puede suplir esa función con mayor eficiencia: https://github.com/EmmanuelOga/easing/b ... easing.lua El resto supongo que será una falla en el cálculo, ¿podrías ampliar el trozo de código para ver el resto de variables? Igual lo mejor sería replantearse el código usando la librería y no esa función. Link to comment
AlFA# Posted December 30, 2015 Author Share Posted December 30, 2015 (edited) ¿Por qué debería molestar? Tu has dado tu opinión y si es para ayudar bienvenida sea la verdad. El panel es del GM de paradise. Edited December 30, 2015 by Guest Link to comment
Tomas Posted December 30, 2015 Share Posted December 30, 2015 Supongo que el problema está acá: if anim == false then anim = true; start = getTickCount() end Nunca vuelves a setear el anim a false, por eso el tick nunca es almacenado en la variable, por lo tanto, la animación estará estática. Link to comment
AlFA# Posted December 30, 2015 Author Share Posted December 30, 2015 Supongo que el problema está acá: if anim == false then anim = true; start = getTickCount() end Nunca vuelves a setear el anim a false, por eso el tick nunca es almacenado en la variable, por lo tanto, la animación estará estática. ¿Y como puedo hacer eso, me explicas un poco mejor? Muchas gracias Tomas por responder. Link to comment
Sasu Posted December 30, 2015 Share Posted December 30, 2015 En la función que abre el panel pones anim = false Link to comment
AlFA# Posted December 30, 2015 Author Share Posted December 30, 2015 En la función que abre el panel pones anim = false Lo siento por las molestias, pero es que no me va Hice esto: if anim == false then anim = false; start = getTickCount() end Link to comment
Enargy, Posted December 30, 2015 Share Posted December 30, 2015 Supongo que la función donde abre el panel igual lo cierra; así que puedes poner anim = false al cerrarlo. Link to comment
aka Blue Posted December 30, 2015 Share Posted December 30, 2015 Exacto. Lo que hace esa variable es comprobar si el panel está abierto o no. Si no está abierto (false), ejecutará la animación y si está abierto (true) no la ejecutará porque, está abierto. Es sencillo de explicar pero aplicarlo al gui_c.lua es algo complicado pero creo que me entiendes . Link to comment
AlFA# Posted December 31, 2015 Author Share Posted December 31, 2015 Exacto. Lo que hace esa variable es comprobar si el panel está abierto o no. Si no está abierto (false), ejecutará la animación y si está abierto (true) no la ejecutará porque, está abierto.Es sencillo de explicar pero aplicarlo al gui_c.lua es algo complicado pero creo que me entiendes . Si si, pero es posible lo que pasa es que he estado editando el código mal, lo he puesto en un render y por lo visto solo se ejecuta una vez el render y ya, me han dicho que lo haga en los paneles de paradise para si se abre cualquier panel se ejecute esa linea Link to comment
Recommended Posts