Anuncios Google

Otra duda más - Progress Bar

Aquí me tienen de nuevo xD.

Bueno, en realidad lo q quiero hacer es poner una sucesion de imagenes con un retardo de un segundo, cada una con un porcentaje y una barrita (estaría en la imagen, solo quiero saber como blitearlas una detrás de otra sin que pete la RAM)

Tengo una primera idea de como hacerlo, pero no lo se desarrollar xD

Sería así:

i1 = img.load("i1.png")
i2 = img.load("i2.png")
i3 = img.load("i3.png")
i4 = img.load("i4.png")
 
 
tiempo = timer.new()
 
if tiempo =< 1 then img.blit("i1") end
else if tiempo = 2 then img.blit("i2") end
else if tiempo = 3 then img.blit("i3") end
else if tiempo = 4 then img.blit("i4") end


Anuncios Google

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 AdriGV

Aver si te e entendido

lo que quieres hacer es una barra de progreso, que cada imagen es un porcentaje, digamos que cada una vale 25%, y cada vez que se muestre una suba la barra de progreso, por lo menos es eso lo que e entedido, si es eso yo haria esto:

i1 = image.load("i1.png")
i2 = image.load("i2.png")
i3 = image.load("i3.png")
i4 = image.load("i4.png")
 
tiempo = timer.new()
Pbarra = 0
 
while true do
 
	if tiempo <= 1 then i1.blit(x,y); Pbarra=1
	elseif tiempo = 2 then i2.blit(x,y); Pbarra=2
	elseif tiempo = 3 then i3.blit(x,y); Pbarra=3
	elseif tiempo = 4 then i4.blit(x,y); Pbarra=4
	end
	draw.pbar(x,y,w,h,color1,color2,Pbarra,4)
	screen.flip()
	if Pbarra==4 then break end
end

no se que interprete usas, creo que es LuaDEV pero no lo se, en el code creo que tienes varios errores:

 

img.load es image.load

img.blit es variable_de_la_imagen:blit

else if es elseif

 

no se si son errores o yo no se que se pueden usar asin, y tampoco se si usas LuaDEV.

Saludos


Programador en C++ y Lua.

Creando un Juego con Unity3D para Android.

Deseo poder crear mi propio IDE para C++ y un Motor de Videojuegos.

Si, son errores mios ya q lo

Si, son errores mios ya q lo escribí rápido.

Y no, lo de la barra de progreso es una error mio tambien xD

Lo que quiero es que cada dos segundos se muestre una imagen, me expliqué mal...

Imagen de AdriGV

ok no pasa nada

Bien, te dejo el code y te lo explico despues.

i1 = image.load("i1.png")
i2 = image.load("i2.png")
i3 = image.load("i3.png")
i4 = image.load("i4.png")
 
tiempo = timer.new()
 
while true do
 
	if tiempo:time() >= 0 and tiempo:time() <= 10000 then
		i1:blit(x,y)
	end
	if tiempo:time() >= 10000 and tiempo:time() <= 20000 then
		i2:blit(x,y)
	end
	if tiempo:time() >= 20000 and tiempo:time() <= 30000 then
		i3:blit(x,y)
	end
	if tiempo:time() >= 30000 and tiempo:time() <= 40000 then
		i4:blit(x,y)
	end
	screen.flip()
	if tiempo:time() >= 40000 then break end
end
tiempo:stop()

Lo primero cargamos las imagenes, segundo creamos una variable que almacene el tiempo que es "tiempo=timer.new", tercero abrimos un bucle.

Y aqui que pasa: pues creamos una condicion que consta de dos partes mas el bloque, if tiempo:time() >= 0 aqui hacemos de que cuando la variable tiempo llegue a 0 devuelva true y ponemos and tiempo:time() <= 10000 then para que termine o si no nunca terminara de mostrar la imagen, despues blirteamos la imagen y cerramos la condicion, ¿facil no? El tiempo va en milisegundos, ejemplo para 10 minutos seria asin:

10 min x 60 s x 1000 ms = 600000 milisegundos.

despues e puesto de que cuando llegue a 40000 ms que es 40 segundos rompa el bucle y continue con el code, y para que la variable tiempo no continue lo paro con tiempo:stop()

Espero haberte ayudado, no lo e probado pero deveria funcionar. En el ejemplo e usado 10 segundos por imagen.

Saludos

 


Programador en C++ y Lua.

Creando un Juego con Unity3D para Android.

Deseo poder crear mi propio IDE para C++ y un Motor de Videojuegos.

A ver si me acuerdo de Lua...

A ver si me acuerdo de Lua... xD

i = {}
i[1] = image.load("i1.png")
i[2] = image.load("i2.png")
i[3] = image.load("i3.png")
i[4] = image.load("i4.png")
 
tiempo = timer.new()
actual = 1
tiempo:start()
 
while true do
	controls.read()
	if tiempo:time() > 2000 then --2000 milisegundos = 2 segundos
		actual = actual + 1
		tiempo:reset() --Volvemos a empezar la cuenta
	end
	if actual > 4 then
		actual = 1
	end
 
	i[actual]:blit(x, y)
	draw.pbar(x, y, w, h, color1, color2, actual, 4)
	screen.flip()
end
 

Imagen de AdriGV

Vaya

Vaya xerpi te as adelantado, y yo ya lo e comentado xD

Saludos

Imagen de Andres_Ne

¬¬ 

¬¬ 

Imagen de Andres_Ne

Pues entonces solo modifica

Pues entonces solo modifica la funcion que adrian te ah dado a 2 segundo y ya

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.