Bueno, hoy quiero compartir esta lib que acabo de hacer :D
Se trata de la AnimLib!, una librería para cargar y mostrar animaciones de una manera muy sencilla ^^
v1
Código: http://pastebin.com/3i9gRvCf
Código listo para copiar: http://pastebin.com/raw.php?i=3i9gRvCf
v1.5
Código: http://pastebin.com/NwiWpzdj
Código listo para copiar: http://pastebin.com/raw.php?i=NwiWpzdj
Mejoras de la v1.5: La animación ya no se blitea centrada, y se ha añadido una nueva función: anim.setframe(animacion,frame)
Bien, esta lib tiene algunas funciones interesantes, para crear, liberar, blitear, rotar, efectos de tintado, transparentado, y funciones de comenzar/resumir y pausa.
Uso:
Primero que nada, una de las cosas que requiere esta lib, es que los frames, estén cargados en una tabla, yo por fines instructivos usaré el siguiente código para crearlas:
dofile("animlib.lua") -- cargamos las funciones de la lib colores = {color.new(255,0,0),color.new(0,255,0),color.new(0,0,255),color.new(0,255,255),color.new(255,0,255),color.new(255,255,255)} -- colores, para facilidad al crear las imágenes... imagenes = {} for i=1,6 do imagenes[i] = image.create(80,80,colores[i]) -- creo las imágenes de 80x80 end
Las imágenes, pueden tener cualquier dimensión, luego para crear una animación hacemos lo siguiente:
animacion = anim.create(imagenes,500)
se recomienda que no se coloque de nombre "anim" a ninguna variable, ya que sino, reemplazaría las funciones de la lib.
anim.create recibe dos parámetros, el primero, es la tabla con las imágenes, y el segundo, son los milisegundos entre cuadro y cuadro.
luego que tenemos nuestro objeto, disponemos de las siguientes funciones:
anim.blit(animacion,x,y) o animacion:blit(x,y) -- blitea la animación en dichas coordenadas anim.fxtint(animacion,x,y,color) o animacion:fxtint(x,y,color) -- igual que el blit, pero con un efecto de tintado anim.blend(animacion,x,y,alfa) o animacion:blend(x,y,alfa) -- igual que el blit, pero con un efecto de transparentado anim.rotate(animacion,angulo) o animacion:rotate(angulo) -- como el image.rotate, rota la animación anim.start(animacion) o animacion:start() -- empieza o reanuda la animación anim.pause(animacion) o animacion:pause() -- pausa la animación anim.reset(animacion) o animacion:reset() -- reinicia una animación, dejándola en el primer frame -- si la animación estaba pausada, seguirá pausada -- si la animación estaba corriendo, seguirá corriendo anim.free(animacion) o animacion:free() -- libera las imágenes de la animación y también se liberan las de la tabla que recibió al crearlas, ya que en si, es la misma tabla la que se libera anim.setframe(animacion,frame) o animacion:setframe(frame) -- cambia el cuadro actual que se está mostrando de la animación por el que se ponga, además, si el frame está fuera de límites (frame mayor a la cantidad de cuadros), se setea al último frame
Características de esta lib: no hay límites más que el que la RAM imponga, y tiene bastantes funciones ^^, además, está diseñada para funcionar en LuaDEV y por tanto, funciona tanto en PSP como en Wii :D
Saludos!
PSP FAT [5.00 M33-6] [6.60 ME] [Hard Moded] / Nintendo Wii [4.1U] [cIOS Hermes] [D2X cIOS] / iPhone 3G [4.2.1] [BB 05.13.04] [redsn0w] / iPod Touch 4 [6.1] [evasi0n]
07/05/10: Tuve el placer de llamarle con todo derecho "N00B" a molotovi xDDD
Recuerda: Sé el intérprete -_-
Que genial :D
Que genial :D
lo probare cuando este en mi casa y comento ;)
por cierto que es bliteo? perdon por mi ignoracion pero no se que es xD
"Las cosas brillantes siempre salen de repente, como la geometría de una flor"
D:
pos, image.blit es para mostrar una imagen en pantalla...
Por favor
Como subir vuestras creaciones a la web
Es por el bien del servidor ;)
Tambien checa tu firma, incumple las normas de la comunidad, es muy pesada.
=O
Ahora mismo edito, disculpas por las molestias u.u
si te puedes apurar porfavor
si te puedes apurar porfavor que en esta web no se aceptan esas cosas ¬¬
PD: NTC jajaja