Anuncios Google

Temporizadores

Tutoriales Avanzados Homebrewes

En esta novena entrega la voy a dedicar exclusivamente al uso de temporizadores. No es difícil conseguir hacer un temporizador aunque no trabaja igual que en Lua player o HM.

Comencemos:

Creamos un timer llamado "mytimer".

--Creamos timer
 
mytimer = pge.timer.create()

Añadimos variables de "X" y de "Y".

x = 100
 
y = 100

Añadimos variable de color blanco.

--Color blanco
 
white = pge.gfx.createcolor(255, 255, 255)

Cargamos nuestra fuente.

--Cargamos la fuente
 
verdana = pge.font.load("verdana.ttf", 12, PGE_RAM)

Una vez hechas las diferentes variables es hora de hacer nuestro mini-programa.

--Siempre es lo mismo
 
while pge.running() do
 
pge.controls.update()
 
pge.gfx.startdrawing()
 
pge.gfx.clearscreen()

Luego la fuente.

--Activamos la fuente
 
verdana:activate()

Le damos nombre a nuestro "mytimer" para después hacer las condiciones.

--Damos un nombre a nuestro "mytimer", que es nuestro temporizador.
 
number = pge.timer.totaltime(mytimer)

Escribimos el temporizador "number" en pantalla.

--Como veis no es nada complicado
 
verdana:print(x, y, white,number)

Hacemos una condición de ejemplo para que veais que hasta que el contador number en pantalla no se situe entre 10 y 20 segundos no saldrá automáticamente el programa.

--Condición entre 10 y 20 segundos
 
if number > 10000 and number < 20000 then
 
pge.exit()
 
end

Finalizamos el programa.

--Cerramos los gráficos
 
pge.gfx.enddrawing()
 
pge.gfx.swapbuffers()
 
end

--Dar un valor nil a la fuente verdana
 
verdana = nil

Extra:

--Lista de segundos, minutos y horas.
 
1000 milisegundos = 1 segundo
 
10000 milisegundos = 10 segundos
 
60000 milisegundos = 1 minuto
 
3600000 milisegundos = 1 hora

Espero que os ayude.

4.21875
Tu voto: Ninguno Votos totales: 4.2 (96 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 recoco

CALABATO64

Las imágenes en PNG.

Imagen de Monty - Calabato64

Ok, gracias

Ok, gracias

Imagen de Monty - Calabato64

Error

Alguien save cual es el problema en este script:

splash = pge.texture.load("files/splash.jpg", PGE_RAM, true)
mytimer = pge.timer.create()
x = 100
y = 100
while pge.running() do
pge.controls.update()
pge.gfx.startdrawing()
pge.gfx.clearscreen()
number = pge.timer.totaltime(mytimer)
if number > 0 and number < 4000 then
splash:draweasy(0,0)
elseif tiempo >= 4000 then
dofile("files/menu.lua")
end
pge.gfx.enddrawing()
pge.gfx.swapbuffers()
end


- Monty (anteriormente, Calabato64)

Imagen de el__QAT

No inciaste el temporizador...

Y lo de las coordenadas no las necesitas, (imagino que aún estas con lo del splash) eso es por si quieres mostrar el tiempo en pantalla.

Otro error muy notorio:

--Aquí hay un error--
if number > 0 and number < 4000 then
splash:draweasy(0,0)
elseif tiempo >= 4000 then --¿De dónde sale la variable "tiempo"?
dofile("files/menu.lua")
end
 
--Debe de ir así--
if number > 0 and number < 4000 then
splash:draweasy(0,0)
elseif number >= 4000 then
dofile("files/menu.lua")
end

sAlud0s!


Tutorial: Fabricando nuestro propio micrófono para la PSP.

Exclusivo de PSP.Scenebeta.com

Imagen de recoco

Errores

Varios errores:

INCORRECTO:

splash = pge.texture.load("files/splash.jpg", PGE_RAM, true)
 
mytimer = pge.timer.create()
 
x = 100
 
y = 100
 
while pge.running() do
 
pge.controls.update()
 
pge.gfx.startdrawing()
 
pge.gfx.clearscreen()
 
number = pge.timer.totaltime(mytimer)
 
if number > 0 and number < 4000 then
 
splash:draweasy(0,0)
 
elseif tiempo >= 4000 then
 
dofile("files/menu.lua")
 
end
 
pge.gfx.enddrawing()
 
pge.gfx.swapbuffers()
 
end

CORRECTO:

--No se debe de poner ni true ni false
 
splash = pge.texture.load("files/splash.jpg", PGE_RAM)
 
--Correcto
 
mytimer = pge.timer.create()
 
--Importante poner valor alpha
 
alpha = 255
 
--Correcto
 
while pge.running() do
 
pge.controls.update()
 
pge.gfx.startdrawing()
 
pge.gfx.clearscreen()
 
number = pge.timer.totaltime(mytimer)
 
if number > 0 and number < 4000 then
 
splash:draweasy(0,0,0,alpha)
 
elseif tiempo >= 4000 then
 
dofile("files/menu.lua")
 
end
 
pge.gfx.enddrawing()
 
pge.gfx.swapbuffers()
 
end
 
 
--Si no lo utilizas en el draweasy no cal que crees ninguna variable "X" y "Y".
 
--Te faltaba la rotación y el valor de alpha tanto en splash:draweasy(0,0,0,alpha)
como en variables.


Image Hosted by ImageShack.us 

Imagen de el__QAT

Ta ha fallado...

Ha puesto tiempo en ves de number.

sAlud0s!

Imagen de Monty - Calabato64

He usado este codigo

He usado este codigo corrigiendo en tiempo por number, pero sigue con problema.

¿Seguro que no hay que poner true, esque en el tuto de los comandos vasicos está true puesto?


- Monty (anteriormente, Calabato64)

Imagen de recoco

No

No hay que poner true.

Imagen de Monty - Calabato64

Qual es el error

Qual es el error entonces¿¿??

Imagen de recoco

Lua

Has hecho mal la condición:

--Prueba a poner if en vez de elseif y de paso finaliza la condición.
 
if number > 0 and number < 4000 then
 
splash:draweasy(0,0,0,alpha)
 
end
 
if number > 4000 then
 
dofile("files/menu.lua")
 
end


Image Hosted by ImageShack.us 

Imagen de Monty - Calabato64

Me he quedado con

Me he quedado con esto:

splash = pge.texture.load("files/splash.jpg", PGE_RAM)
mytimer = pge.timer.create()
alpha = 255
while pge.running() do
pge.controls.update()
pge.gfx.startdrawing()
pge.gfx.clearscreen()
number = pge.timer.totaltime(mytimer)
if number > 0 and number < 4000 then
splash:draweasy(0,0,0,alpha)
end
if number >= 4000 then
dofile("files/menu.lua")
end
pge.gfx.enddrawing()
pge.gfx.swapbuffers()
end

Sigo teniendo problemas.


- Monty (anteriormente, Calabato64)

Imagen de recoco

Lua

Te falta activar la textura:

--Carga la textura splash dentro del bucle
 
splash:activate()

Imagen de Monty - Calabato64

En que parte del codigo

En que parte del codigo tengo que poner eso¿?

Imagen de recoco

Lua

Dentro de while pge.running() do,

Imagen de Monty - Calabato64

Qudandome con esto, sigo con

Qudandome con esto, sigo con problemas:

splash = pge.texture.load("files/splash.jpg", PGE_RAM)
mytimer = pge.timer.create()
alpha = 255
while pge.running() do
splash:activate()
pge.controls.update()
pge.gfx.startdrawing()
pge.gfx.clearscreen()
number = pge.timer.totaltime(mytimer)
if number > 0 and number < 4000 then
splash:draweasy(0,0,0,alpha)
end
if number >= 4000 then
dofile("files/menu.lua")
end
pge.gfx.enddrawing()
pge.gfx.swapbuffers()
end


- Monty (anteriormente, Calabato64)

Imagen de recoco

Lua

Porfavor, revisa el código y verás que no tiene ninguna lógica haber puesto el splash:activate() antes de empezar la libreria de gráficos.


Image Hosted by ImageShack.us 

Imagen de Monty - Calabato64

Yo entiendo muy poco de Lua,

Yo entiendo muy poco de Lua, estoy aprendiendo, no se si va antes, despues, no se ni para que sirve ese codigo, simplemente estoy haciendo un juego en Lua PGE con vlf, siguienedo los tutoriales de migueliziosop, se no va antes, por favor, en que parte del codigo va, dime debajo de que linea.


- Monty (anteriormente, Calabato64)

Imagen de recoco

Lua

Pues empieza leyendo los tutoriales de Lua PGE que hice. El splash:activate va debajo de pge.gfx.clearscreen().

 

Imagen de Monty - Calabato64

Tutoriales leidos, me he

Tutoriales leidos, me he quedado con el siguiente codigo, sigo con problemas:

splash = pge.texture.load("files/splash.jpg", PGE_RAM)
mytimer = pge.timer.create()
alpha = 255
while pge.running() do
pge.controls.update()
pge.gfx.startdrawing()
pge.gfx.clearscreen()
splash:activate()
number = pge.timer.totaltime(mytimer)
if number > 0 and number < 4000 then
splash:draweasy(0,0,0,alpha)
end
if number >= 4000 then
dofile("files/menu.lua")
end
pge.gfx.enddrawing()
pge.gfx.swapbuffers()
end


- Monty (anteriormente, Calabato64)

XD

Calagato he observado tu codigo, no se si lo tienes bien estructurado pero la imagen que deseas cargar esta en jpe yy tiene que esstar en png


                                                                          No cuesta nada agradecer!!!

Imagen de Monty - Calabato64

Ok, pasaré la imagen a PNG

Ok, pasaré la imagen a PNG con Photoshop, por cierto soy CALABATO, no CALAGATO

Perdon es qu vi la imagen dl

Perdon es qu vi la imagen dl gato y por eso xD

Imagen de Monty - Calabato64

No pasa nada xDD, a mi me

No pasa nada xDD, a mi me podeis poner cualquier apodo.

Imagen de recoco

Ya

Ya lo se. No me has dejado editar el comentrario.

Imagen de Monty - Calabato64

Esque no se que pasa que

Esque no se que pasa que cuando te responden no te deja editar.

Ya lo se. No me has dejado editar el comentrario.

Es logico, la respuesta va a

Es logico, la respuesta va a ese comentario si lo modificas la respuesta no va a tener sentido o estaria equivocada.

Imagen de calos1998

perdon

perdon por mi ignorancia ¿ pero que es un timer ?

Imagen de Monty - Calabato64

Es de programacion, es para

Es de programacion, es para hacer homebrews

Imagen de psp_nvelez64_psp

no

 no estiendo nada de esto ni para que es pero buen aporte.

Imagen de alexricoj

Muchas gracias, me estan

Muchas gracias, me estan sirviendo todos los tutoriales tuyos ;)

Muy buenos aportes Risa

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.