Anuncios Google

[LuaDEV][Duda-Resuelto] Barra de progreso a resetear

Trato de hacer una barra de porcentaje que cuando llegue a un límite regrese al principio de la condición para que vuelva a incrementar su valor. Por ejemplo si llega a X% regrese a 0 y vuelva a llegar de y en y a X%

Dejo el código:

 

			if batt.percent() >=0 and batt.exists() then draw.fillrect(463,14,4,Porcentaje,color.new(255,255,255)) end
			if on.over(460,3,10,14) then screen.print(Fuente,455,25,batt.percent().."%",0.5,color.new(255,255,255),0x0) end
			if batt.charging() then Porcentaje=Porcentaje-2 elseif Porcentaje >= Porcentaje-2 then Porcentaje=Porcentaje-Porcentaje return end
	end
 

El incremento me ha quedado, pero no sé como "resetearlo". (Respecto al return, sinceramente no sé para que es, según yo era para que reseteara la condición =P).

Saludos y gracias de antemano.


--[NO EXISTEN LOS LIMITES =D]--


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.

Creo haber entendido que

Creo haber entendido que quieres hacer una animación algo así como esta (pero sin parpadeos, y que se llene sólo hasta el procentaje actual) correcto?

Imagen de PerezRE

PerezRE

Así es Rober.
Tengo otro método pero es más largo y tendría que cargar otras cosillas, lo cual creo que se lleve más ram que con el método que trato actual.


--[NO EXISTEN LOS LIMITES =D]--

Pues en ese caso es bastante

Pues en ese caso es bastante sencillo el efecto, si quieres la animación desde 0 hasta el nivel actual por ejemplo:

  • Declaras una variable (Porcentaje, como la tienes) en 0.
  • Vas aumentando esa variable (de 2 en 2 o de 5 en 5, de 1 en 1 seguro se verá muy lento).
  • Aquí viene la magia, necesitas una sencilla condición:
    if Porcentaje > batt.percent() then 
      Porcentaje = 0    --El reinicio :D
    end

    Y listo xD

Si la quieres hacer al revés (desde el porcentaje actual hasta 0) es igual, pero en la condición de reinicio inviertes la comparación y pones 0 en lugar de batt.percent.
Fácil no?

Imagen de PerezRE

PerezRE

Hice algo mal o no funciona el reseteo.

Dejo el code completo.

Porcentaje = math.floor(batt.percent()*-7/100)
 
Bateria = {
 
	BateriaF = function()
		BateriaI:blit(460,3)
			if batt.percent() > 0 and batt.exists() then draw.fillrect(463,14,4,Porcentaje,color.new(255,255,255)) end
			if on.over(460,3,10,14) then screen.print(Fuente,455,25,batt.percent().."%",0.5,color.new(255,255,255),0x0) end
			if batt.charging() then Porcentaje=Porcentaje-2 elseif Porcentaje >= batt.percent() then Porcentaje=Porcentaje-Porcentaje end
	end
}

 


--[NO EXISTEN LOS LIMITES =D]--

Tu condición de reinicio está

Tu condición de reinicio está mal... ya que el limite lo aplicas cuando la batería no está cargando (lo pusiste en el else).

A lo que ví en tu code, desde la carga actual irás disminuyendo hasta 0, así que quedaría más o menos así:

if batt.charging() then 
  Porcentaje=Porcentaje-2   --animación...
    if Porcentaje <= 0 then   --Condición de reinicio, cuando llegue a 0 la animación
      Porcentaje=batt.percent()  --Reinicio... 
    end
else
  Porcentaje=batt.percent()  --Para que se pinte la barra cuando no se está cargando...
end

Imagen de PerezRE

PerezRE

Tienes toda la razón, me he equivocado.

Me ha servido mucho tu ayuda Rober, gracias.

Hay una función que te

Hay una función que te devuelve el porcentaje de la batería, ahora mismo no me acuerdo cuál es.

Ah y el return lo que hace es devolver un valor desde la función. Chimecho lo explica bien aquí: http://psp.scenebeta.com/tutorial/funciones

Imagen de PerezRE

PerezRE

Gracias Xerpi, ahora me quedó más claro lo de return.

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.