Anuncios Google

Librería Gif

AplicacionesCustom Firmware PlusLUA Playersrces

v1.0 LuaDev

¿Programas en LUA? ¿Quieres poner animaciones, pero no encuentras algún interprete que lo haga? Si tus respuestas son sí, tengo la solución perfecta. El gran coder Toños ha desarollado una librería que toma los frames y las muestra en pantalla como una animación. Es de un uso realmente fácil y efectivo. Tiene la posibilidad de reproducir hasta 100 animaciones, 25 frames por animación y también cuenta con una función para pausar la animación. Ahora se ha añadido una versión Lite compatible con el interprete LuaDev.

Autor: Toños.

Descripción:

Como mencione más arriba, esta librería de uso muy sencillo, soporta hasta 100 animaciones distintas y cuenta con una función para pausar las animaciones. Aunque es bastante sencillo hacer este efecto en un script, tomaría demasiado tiempo y muchas lineas de código lograr el mismo efecto que esta librería hace. Esta librería es solo para uso de programadores de LUA HM7 o HM2. Ya que esta basada en sus funciones. Pero es fácilmente adaptable a cualquier tipo de interprete de lua.

Modo de uso:

Aquí les dejo un simple ejemplo del modo de uso de la librería:

AnimacionX(centrada,retraso,x,y,frame1,frame2,frame3,frame4)
-- Explico los parametros :
-- AnimacionX : Reemplazar X por un numero del 1 al 100.
-- centrada : Variable booleana que define si se centra o no la animación en pantalla.
-- retraso : Milisegundos entre frame y frame.
-- x : coordenada X en la cual se mostrará la imagen. Poner en 0 si la variable centrada es true.
-- y : Coordenada y en la cual se mostrará la imagen. Poner en 0 si la variable centrada es true.
-- frame1,frame2,frame3,frame4 : En esta parte, se declaran las imagenes que se mostrarán. Minimo son 2 y el maximo son 25.
 
Animacion_pausa(animacion) 
--Pausa la reproducción de la animación.
--animacion : el numero de X.
--Ejemplo :
Animacion10(false,10,100,100,Imagen1,frame2,Base3)
 if pad:circle() then Animacion_pausa(10); end

Ejemplo:

dofile("Libreria_Gif.lua") --Llamamos a la librería.
 
--Cargamos las imagenes que usaremos para la animación.
--Yo cargaré 3 para no extenderme mucho. Pero el maximo es de 25 frames.
anim1 = Image.load("Frame1.png")
anim2 = Image.load("Frame2.png")
anim3 = image.load("Frame3.png")
 
while true do --Bucle principal
screen:clear() --Limpiamos la pantalla
animacion1(true,15,0,0,anim1,anim2,anim3) --Reproducimos la "animación"
animacion2(false,15,0,0,anim3,anim2,anim1) --Reproducimos la animación al revez.
screen.flip()
screen.waitVblankStart()
end

Nota: En la descarga se encuentra adjunto dos ejemplos del modo de uso de la librería creados por toños y las imágenes necesarias para usar esos ejemplos. En la version LuaDev no vienen dichos ejemplos, pero es totalmente igual que en los demás.


Versión para LuaDev:

07-04-2011

Esta es una versión que se ha porteado por Dovemac para utilizarla en el intérprete LuaDev.

  • Tamaño reducido (menos cuelgues y falta de RAM).
  • Solo se pueden blitear 5 animaciones.
  • Porteado a LuaDev.

Descargar LibreríaGif v1 (Dev) (Sólo Usuarios Registrados y Programadores).


Descarga :

Descargar LibreríaGif v1 (HM2) (Sólo Usuarios Registrados y Programadores).

Descargar LibreríaGif v1 (HM7) (Sólo Usuarios Registrados y Programadores).

4.143425
Tu voto: Ninguno Votos totales: 4.1 (251 votos)

Anuncios Google

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de toños

jajaja que haa passado aqui

jajaja que haa passado aqui jejeje ya tenia mucho que no me paraba aqui y hora que me fijo una noticia de mi libreria la veo actualizada jajaja xD


Saves tocar la guitarra, eres de las peresonas como yo que no deja la guitarra ni un dia, pues espera mi aplicacion pues te sera de mucha utilidada.

Trabajando en 3 proyectos aunque no alla tiempo jaja:
*Batalla Ninja v5 incluira muchas mejoras muy buenas esperenlo

*Un juego de Mesa con editor de mapas y manejamiento automatico de mapa 
*Una aplicacion secreta util para los guitarristas

Team AntraX Miembro

Cuanto tiempo sin verte por

Cuanto tiempo sin verte por aqui!

Imagen de toños

jaja si ps verdad pero pues

jaja si ps verdad pero pues la escuela y la musica no da tiempo de nada jaja xD

Imagen de Kenta15

Toy en las mismas...

Toy en las mismas...

Jajaja...

Pues ya iba siendo hora de actualizar un poco, ¿no?

Imagen de ANI-KIBA

Gracias toños!! :D

Pero me diste a entender que reproducía una imagen .gif.

Saludos!

puedo ver imagenes gif con esto

hola amigos la verdad es que no entendi muy bien de que va este homebrew y lo unico que entendi es que me permite ver gifs es esto cierto o me equivoco

Imagen de freakno

no es para ver gifts es para

no es para ver gifts es para programa y meter gifts en los programas

solo para uso de los programadores

Imagen de NauTiluS1

Muy bueno serviria de

Muy bueno serviria de mucho.

Saludos

Gracias.

Gracias.

Emm eso no está en

Emm eso no está en LuaDEV: screen:blit(AnimacionX,AnimacionY,Imagen27)
sería: image.blit(AnimacionX,AnimacionY,Imagen27)

Error mio...

Al parecer, subi un archivo que no era el que portee, era una prueba. Perdonen las molestias.

Un saludo.

Acabe el port.

Ahora actualizo la noticia.

EDITO: Actualizada.

Saludos.

Imagen de cam-maker

genial :D

genial :D

esto no va para portada?? o.o

Ya he avisado a los admins...

Ellos son los que se encargan de pasar a portada las noticias, los Editores solo redactamos y actualizamos ;-)

Un saludo.

Si queréis hago una con menos

Si queréis hago una con menos de 100 lineas en LuaDEV.

Vale...

Si la haces, la cambio por la versión que acabo de añadir que tiene muchas más lineas.

Imagen de cam-maker

pues yo te pidiera

pues yo te pidiera, que portaras otro necesito esa libreria xD ya te lo busco editare el comentario

Edito: aqui esta, intenta pasar el de HMv2 Libreria para imprimir ondas te lo agradeceria mucho (:


"Las cosas brillantes siempre salen de repente, como la geometría de una flor"


Y estoy en ello ;)

Ahi está, no se si funciona porque no lo he probado:

 

Cargar_onda1 = function(f)
f=f or 0.1
local onda={pi=math.pi,Frec=f,Long_onda=2000,Amplitud=100}
function onda:color(a,b,c) self.a=a self.b=b self.c=c end
function onda:ejecutar(desfase)
desfase=desfase or 0
if not self.contador then
self.contador=timer.new()
self.contador:start()
self.contador:reset()
end
if not self.a or not self.b or not self.c then
self.a = 0
self.b = 0
self.c = 255
end
local t,x,y,i
t = self.contador:time()/1000+desfase
for x = 0,480,4 do
y = 136+self.Amplitud*math.sin(2*self.pi*(t*self.Frec-x/self.Long_onda))
i = self.Amplitud*(-2*self.pi/self.Long_onda)*math.cos(2*self.pi*(t*self.Frec-x/self.Long_onda))
draw.line(x-200,y-i*200,x+200,y+i*200,color.new(self.a,self.b,self.c,x/40))
end
collectgarbage()
end
return onda
end
 
--Funcion para la 2ª onda--
 
Cargar_onda2 = function(f)
f=f or 0.1
local onda={pi=math.pi,Frec=f,Long_onda=2000,Amplitud=110}
function onda:color(a,b,c) self.a=a self.b=b self.c=c end
function onda:ejecutar(desfase)
desfase=desfase or 0
if not self.contador then
self.contador=timer.new()
self.contador:start()
self.contador:reset()
end
if not self.a or not self.b or not self.c then
self.a = 0
self.b = 0
self.c = 255
end
local t,x,y,i,a
t = self.contador:time()/1000+desfase
if self.Amplitud <= 5 then
self.aumento = true
elseif self.Amplitud >= 110 then
self.aumento = false
end
if self.aumento then
self.Amplitud = self.Amplitud +0.1
else
self.Amplitud = self.Amplitud-0.1
end
for x = 0,480,10 do
y = 136+self.Amplitud*math.sin(2*self.pi*(t*self.Frec-x/self.Long_onda))
i = self.Amplitud*(-2*self.pi/self.Long_onda)*math.cos(2*self.pi*(t*self.Frec-x/self.Long_onda))
for a = -3,3 do
draw.line(x-20,a+y-i*20,x+20,a+y+i*20,color.new(self.a,self.b,self.c,25-math.abs(a*5)))
end
end
collectgarbage()
end
return onda
end
 
--Funcion para la 3ª onda--
 
Cargar_onda3 = function(f)
f=f or 0.1
local onda={pi=math.pi,Frec=f,Long_onda=1500,Amplitud=50}
function onda:color(a,b,c) self.Color=color.new(a,b,c,40) end
function onda:ejecutar(desfase)
desfase=desfase or 0
if not self.contador then
self.contador=timer.new()
self.contador:start()
self.contador:reset()
end
if not self.Color then
self.Color=color.new(0,0,255,40)
end
local t,x,y,i
t = self.contador:time()/1000+desfase
for x = 0,480 do
y = 200+self.Amplitud*math.sin(2*self.pi*(t*self.Frec-x/self.Long_onda))
draw.line(x,272,x,y,self.Color)
end
collectgarbage()
end
return onda
end

Imagen de cam-maker

alguien

alguien que lo pruebe xD no estoy en mi casa y no tengo mi PSP, cuando este en mi casa lo probare ;)

¿Se puede portar a LuaDev?

¿Se puede portar a LuaDev o el autor no lo permite?

Un saludo.

Imagen de cam-maker

seria fantastico

seria fantastico, que se portara a LuaDev O_O

Pues yo me encargo de hacerlo...

Acabo de ver la banderita de Codigo Fuente (SRC). En unos minutos os lo actualizo con la nueva version para LuaDev.

Un saludo.

Imagen de cam-maker

ya viste

ya viste el codigo xD lo largo que es º __ º

Bah, es facil...

Bah, es facil, no creas...

Un saludo.

Imagen de infinity09

esta buena un poco complicada

esta buena un poco complicada pero alfin lo entendi esta muy bueno.

Imagen de Guyz39th

disculpen

disculpen pero es para ke agarre imagenes gif de esas ke se mueven

Imagen de -Adolso-Gallardo-

Noo

Noo si te refieres a que se vean en la psp imagenes gif,esto es para programacion en el lenguaje LUA que sirve para mostrar varias imagenes seguidas para que se muestre una animacion.

Imagen de -chus-

Gracias

Nuevamente muchas gracias por esta libreria, esta super...un saludo Todo bien

Imagen de Monty - Calabato64

HMv2. no HM2. El HM2 está muy

HMv2. no HM2. El HM2 está muy anticuado, hay muchas versiones por delante, el que se usa es el HMv2.

genial!!! esto me irá muy

genial!!! esto me irá muy bien. yo creo que aún seria mejor en LuaDEV, seria mucho más rápido

 

Imagen de moikop

Felicitaciones.

Enhorabuena toños, felicitaciones por la librería.

Un saludo

Woooo

genial,estupendo +5 :) gracias

pascu

tambien podria  servir  para win para el msn para crear emoticonos a los q a la gente le gusta me gusta el aporte

Imagen de NEKERAFA

Justo lo que queria

Justo lo que queria hacer en un programa, una animacion jejeje.

Aunque eso de libreria gif... creo que no se deberia de llamar asi, porque no sale ninguna imagen gif. Pero aun asi esta muy bien.


NekeOS, el nuevo shell para PSP

PS4 500GB OFW, PS3 320GB OFW, PS3 500GB OFW, PSP 6.39 PRO-C Fix4.

Sony Xperia Z1 Compact con Android 5.1.1

Portatil Lenovo z50-70 Intel® Core™ i7-4510U y NVIDIA GeForce 840M con Elementary OS 0.3.2 Freya (64 bits) y Windows 10 (64 bits).

Imagen de Robione22

+1

Estoy de acuerdo, en parte contigo, no usa ninguna imagen .gif, pero "la emula", de igual manera no creo que exista problema, ya sabes eso del marketing ;)

Imagen de anzatzu

felicidades

men, me da gusto que si la hayan subido a portada, aunque no se de programacion ni mucho menos pero por los comments que he leido se ve que esta muy buena tu aplicacion, saludos


La vida es facil, solo toma decisiones y no mires atras

Imagen de -chus-

Duda

Mi duda es, como se adapta o que tengo que modificar del codigo para que me funcione en LUA HMv2? gracias por sus respuestasTodo bien

Imagen de moikop

Fíjate los comandos

Fíjate los comandos importantes como los System y los Image. Tal vez debas cambiarle algún comando como el Image.blit()...

Un saludo.


Para recibir ayuda por parte de otros usuarios más rápidamente, recomendamos que pongas títulos descriptivos y no utilices abreviaturas (estilo MSN) en tus post de los foros. Recuerda que accediendo al Manual del perfecto forero y las Normas de la Comunidad aprenderas trucos para resolver tus dudas antes.

No preguntes por MP, mejor pregunta aquí.

Disculpa

esto es un plugin o aplicacion

gracias

 

Imagen de Molo Johny Banana

Es una libreria

Para programar, esto lo usarias si supieses programar en Lua y requirieras usar un Gif.

Un saludo

Jeje

Bueno gracias queria ver si podia hacer pero bueno gracias

Imagen de Cygnux

Pense que se podrian usar

Pense que se podrian usar directamente animaciones GIF pero igual ahorra mucho trabajo, saben de alguna libreria para hacer lo mismo en C/C++ ? o si con la OSLib se puede?. Indeciso

Imagen de moikop

Esto es para LUA. No para

Esto es para LUA. No para C...

Un saludo.

Imagen de Cygnux

Ya lo se, por eso pregunto

Ya lo se, por eso pregunto si saben de alguna para C/C++ o si con la OSLib se puede. Inocente

Imagen de pspgorrister

Yo estoy terminando una

Yo estoy terminando una librería para gestionar sprites, animaciones, musica, fuentes, colisiones, etc. Aún falta pulirle unas cosas, pero me falta tiempo, de hecho empecé a desarrollarla hace casi 2 años, y la he tenido parada. Está creada en C++ y usa 100% Progr. orientada a objetos (cosa lógica si se usa C++).

Espero subirla y poner un pequeño tuto, su uso es muy sencillo y a la vez potente. Con menos de 20 lineas se podrá hacer un sprite animado que choque con otro. Estate atento ;-).

 

Un saludo.


LuaDiE: Crea en Lua sin teclear código. Compatible HM7, HMv2, LuaPlayer, LuaDEV y PGE.

Imagen de moikop

Aaaaa...

Entendí mal jeje.
Si no mal recuerdo, en el SDK viene una librería llamada giflib.h o libgif.h...
Y sino, creo que con la oslib se puede. Pero no estoy tan seguro...

Un saludo.


Para recibir ayuda por parte de otros usuarios más rápidamente, recomendamos que pongas títulos descriptivos y no utilices abreviaturas (estilo MSN) en tus post de los foros. Recuerda que accediendo al Manual del perfecto forero y las Normas de la Comunidad aprenderas trucos para resolver tus dudas antes.

No preguntes por MP, mejor pregunta aquí.

Esta aplicacion va dentro

Esta aplicacion va dentro del lua player vdd?
o donde ubicarlo ya q en el lua me dice null

Imagen de moikop

No es una aplicación.

Es una librería para los programadores de LUA. Asi que al menos que sepas programar, esto no te servirá de mucho...

Un saludo.


Para recibir ayuda por parte de otros usuarios más rápidamente, recomendamos que pongas títulos descriptivos y no utilices abreviaturas (estilo MSN) en tus post de los foros. Recuerda que accediendo al Manual del perfecto forero y las Normas de la Comunidad aprenderas trucos para resolver tus dudas antes.

No preguntes por MP, mejor pregunta aquí.

estoy en programacion, yo

estoy en programacion, yo tengo el lua HM7 por eso digo, meto ahi la libreria y no me va

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.