Jueves, 21/Nov/2024, 0:42 AM
                          Inicio

Registrarse

Entrada
Le saludo Huésped | RSS
[ Mensajes nuevos · Participantes · Reglas del foro · Búsqueda · RSS ]
  • Página 1 de 1
  • 1
Creando transiciones [LUA HM7]
klozzFecha: Jueves, 07/Abr/2011, 11:52 PM | Mensaje # 1
Soldado raso
Grupo: Administradores
Mensajes: 6
Reputación: 0
Estatus: Offline
Hoy les explicaré como agregar un inicio más elgante a nuestro homebrew usando las transparencias. Creo que todos nosotros hemos visto en los juegos comerciales (o incluso en algún homebrew) que al principio aparecen imagenes poco a poco y desaparecen de la misma manera, pues en este tutorial les diré como hacerlo.

Comenzemos
Aunque no se con exactitud que método usen en los juegos comerciales y en los homebrews que he visto con este efecto, yo lo haré utilizando el bucle for.

¿Que es el bucle FOR o ciclo for ?
No explicaré del todo el funcionamiento de este bucle, solo lo necesario para hacer funcionar el efecto que busco.
Aunque si deceas saber mas clickea aki XD donde dice wikipedia

Code

--Ejemplo de bucle for--
for n = 1, 25, 5 do
        screen:clear()
        screen:print(100,100,n)
      end
       
--Explicación--
- n: Variable que cambiará de valor.
- 1: Es el valor incial de n.
- 25: Es el valor hasta el que llegaremos.
- 5: Es el valor de cada incremento.
       
--[[En otras palabras lo que dice este bucle es lo siguiente:
Para n que vale 1, incrementamos de 5 en 5 hasta llegar a 25.
Aunque esta explicación no es la mejor, creo que se entiende.]]--

Creando nuestro inicio

Este tutorial está basado en LuaHM7 pero puede ser adaptado para cualquier versión del mismo. Ahora en nuestro documento .lua escribiremos lo siguiente:

Code

----------------------------------------
        --EJEMPLO CREADO POR Klozz--
----------------------------------------
       
--Cargamos la imagen que usaremos--                            
splash = Image.load("Iconiux.png")       
--Empezamos el primer bucle for--                       
for n = 255, 0, -10 do
        negro = Image.createEmpty(480,272)
        negro:clear(Color.new(0,0,0,n))
        screen:blit(0,0,splash)
        screen:blit(0,0,negro)
        sc reen .flip()
        System.sleep(2)
      end
--Mostramos el splash por 1 segundo--
        screen:blit(0,0,splash)             
        System.sleep(1000)
--Empezamos el segundo bucle for--
for n = 5, 255, 10 do    
        splash:clear( Color.new(0,0,0,n ))
        screen:blit(0,0,splash)                      
        screen.flip()
        System.sleep(2)
      end

------------------------- ----- --------------------------------------------------

Explicación Parte 1
Ahora les explicaré que es lo que hace el código que está arriba.

Code

splash = Image.load("Iconiux.png") --Cargamos la imagen que usaremos (yo estoy usando el splash de mi homebrew llamao iconiux.)-- -                      
for n = 255, 0, -10 do --Le damos los valores a nuestro bucle for (como se ve en esta parte también se puede disminuir el valor)-
        negro = Image.createEmpty(480,272) --Creamos una imagen vacía de 480*272px.
        negro:clear(Color.new(0,0,0,n)) --Coloreamos la imagen de negro, en el valor alpha está la variable n.
        screen:blit(0,0,splash) --Mostramos el splash.
        screen:blit(0,0,negro) --Mostramos la imagen que hemos creado.
        screen.flip() --Mostramos en pantalla lo anterior.
        System.sleep(2) --Esperamos 2 milisegundos antes de pasar al siguiente trozo de código.
      end --Finalizamos bucle for.

Lo que hace esta parte del código es lo siguiente:

Colocamos en pantalla la imagen del splash y encima de esta la imagen que creamos.
Al ir avanzando nuestro bucle for, el valor alpha de nuestra imagen disminuye, se va haciendo transparente y se comienza a mostrar la imagen del splash.

--------------------------------------------------------------------------------

Parte 2

Code

--Mostramos el splash por 1 segundo--
        screen:blit(0,0,splash)             
        System.sleep(1000)
       
--[[Después de haber aparecido la imagen del splash,
espera un segundo antes de empezar a desaparecer]]--

--------------------------------------------------------------------------------

Parte 3

Code

--Empezamos el segundo bucle for--
for n = 5, 255, 10 do --Asignamos lo valores.
        splash:clear( Color.new(0,0,0,n )) --Pintamos la imagen del splash de color negro.
        screen:blit(0,0,splash) --Mostramos la imagen del splash.
        screen.flip() --Mostramos lo anterior en pantalla.
        System.sleep(2) -- Esperamos dos milisegundos antes de ir al siguiente código.
      end --Terminamos el bucle.

Este bucle hace lo contrario al primero:

Coloreamos la imagen del splash de color negro.
El valor alpha de nuestro color aumenta, el color comienza a hacerse cada ves mas sólido y va tapando nuestra imagen hasta que la bloquea por completo.

Finalizado ASi se vera XD nomas ke no tiene mucha calidad ya que mi video fue hecho con el cel yaque mi pc no me acepto el Remotejoy u.u

[video=youtube]http://www.youtube.com/watch?v=9mrSz0qyUJw[/video]

 
berto1989Fecha: Miércoles, 07/Sep/2011, 5:19 PM | Mensaje # 2
Soldado raso
Grupo: Usuarios
Mensajes: 1
Reputación: 0
Estatus: Offline
Buenas Klozz, lo primero gracias por los tutos, y lo segundo es que me tira un error en el programa.

Mecarga la imagen bien, pero cuando empieza a ponerse negro casi al terminar me suelta este error:

Quote
Error: (null)
Press Start to restart


alguna solucion?


Mensaje editado por berto1989 - Jueves, 08/Sep/2011, 0:19 AM
 
klozzFecha: Lunes, 21/Nov/2011, 10:30 PM | Mensaje # 3
Soldado raso
Grupo: Administradores
Mensajes: 6
Reputación: 0
Estatus: Offline
Quote (berto1989)
Buenas Klozz, lo primero gracias por los tutos, y lo segundo es que me tira un error en el programa.

Mecarga la imagen bien, pero cuando empieza a ponerse negro casi al terminar me suelta este error:

Quote
Error: (null)
Press Start to restart

alguna solucion?


Es raro que version de CFW usas? Disculpa la tardansa no me habia pasado por aca xD
Bueno aparte de te muestra la primer imagen? o solo asi se manda al error? saludos
 
  • Página 1 de 1
  • 1
Búscar:

Copyright MyCorp © 2024 Hacer un sitio web gratis con uCoz