Anuncios Google

Pregunta sobre if (LuaDEV-Solucionado)

Buenas, queria asegurarme sobre una cosa asique aqui estoy xD, bien yo quiero mostrar en el menu de mi juego la bateria restante que le queda a la psp,pero no con el %, sino mediante imagenes entonces me preguntaba si puedo hacer esto:

if bateria >= 80
image.blit(50,50,bateria1)

if bateria >= 50
image.blit(50,50,bateria2)

if bateria >= 30

image.blit(50,50,bateria3)

if bateria >= 10

image.blit(50,50,bateria4)

Es un suponer, ya se que este code no funcionora xD,solo pregunto a ver que me recomiendan Guiño

 

EDITO: Solucionado con mi code y vuestra ayuda ( me base sobretodo en el de OoNEKERAFAoO, ya que mi funcion estaba fuera del bucle :P xD), resulta que al final era algo muy simple, yo me pensaba que seria mas complejo xD

Resultado:



-> Creaciones <-

Os invito a probar el lol xD

http://signup.leagueoflegends.com/?ref=50814a20894be236637679

 


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 NEKERAFA

Pues fenomenal

Y es verdad que se puede ahorrar la variable sustituyendolo por la función, y despues moviendo un poco los bloques:

-- Cargamos las imagenes
bateria100 = image.load("100%.png")
bateria75 = image.load("75%.png")
bateria50 = image.load("50%.png")
bateria25 = image.load("25%.png")
 
while true do -- Bucle infinito
   if batt.percent() <= 100 and batt.percent() > 75 then bateria100:blit(0,0)
   elseif batt.percent() <= 75 and batt.percent() > 50 then bateria75:blit(0,0)
   elseif batt.percent() <= 50 and batt.percent() > 25 then bateria50:blit(0,0)
   elseif batt.percent() <= 25 and batt.percent() >= 0 then bateria25:blit(0,0) end
 
   screen.flip()
end

Se que tambien se puede hacer con if's normales, pero normalmente, cuando hay una relación en las condiciones (En este caso el porcentaje de la batería), es una buena forma de programación, aparte de que el código queda más ordenado.


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).

Tmbién se podría hacer asi,

Tmbién se podría hacer asi, si sale algún error avisa.

 

bateria = {image.load("25%.png"),image.load("50%.png"),image.load("75%.png"),image.load("100%.png")}
 
bateria[math.ceil(batt.percent()/25)]:blit(0,0)

Imagen de NEKERAFA

XDDD, a reducir el código

XDDD, a reducir el código más

bateria = {}; x = 1; for a = 25, 100, 25 do bateria[x] = image.load(..a..".png"); x=x+1 end x = nil
while true do bateria[math.ceil(batt.percent()/25)]:blit(0,0); screen.flip() end

¡¡¡¡¡¡Solo 2 lineas!!!!!!!


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).

bateria = {}; for a = 25,

bateria = {}; for a = 25, 100, 25 do bateria[a/25] = image.load(a..".png") end

Imagen de NEKERAFA

XDD

Es verdad:

bateria = {}; for a = 25, 100, 25 do bateria[a/25] = image.load(a..".png") end
while true do bateria[math.ceil(batt.percent()/25)]:blit(0,0); screen.flip() end

Ale, pa quien tenga el code saturado


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 NauTiluS1

Al fin y al cabo todos dan

Al fin y al cabo todos dan las mismas respuestas

Imagen de User170294

Además la forma en que él lo

Además la forma en que él lo posteó era correcta.

Imagen de sisinio

.

xD solo era para asegurarme de que lo hacia bien,igualmente gracias por todas las respuestas Guiño

Imagen de Dioni0396

Esta perfecto.

Esta perfecto.

Imagen de cam-maker

algo asi quedarian

algo asi quedarian...

if bateria >= 80 and bateria <= 100 then
	--bliteas la imagen
elseif 	bateria >= 60 and bateria < 80 then
	--bliteas la imagen
elseif 	bateria >= 40 and bateria < 60 then
	--bliteas la imagen
elseif 	bateria >= 20 and bateria < 40 then
	--bliteas la imagen
elseif 	bateria >= 0  and bateria < 20 then
	--bliteas la imagen
end

si la variable porcentaje contiene el porcentaje de la bateria... creo que servira xD


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


Imagen de Kenta15

o puedes hacer asi

battery1 = image.load("..")--Definimos las imagenes :P
battery2 = ... 
battery3 = ... 
battery4 = ... 
 
if bateria >80 then batteryL = battery1 end --Aqui decimos por ejemplo si bateria tal porciento "batteryL = a tal imagen"
if bateria >50 then batteryL = battery2 end 
if bateria >30 then batteryL = battery3 end 
if bateria >10 then batteryL = battery4 end 
 
image.blit(batteryL) --Aqui imprimimos "batteryL" que dependiendo la imagen es la se imprima xP

(No servira si lo pones asi xD) + Acuerdate de darle a "bateria" el porcentaje xD


 ODIO ser Bipolar... ME ENCANTA!! D:

     

     Twitter       Facebook      WebPage

Imagen de NEKERAFA

No es así

Haber, lo que queremos es que se muestre una imagen según el intervalo de porcentaje de la PSP (Un intervalo es un grupo de números).

Para ello vamos ha hacer 4 imagenes, por ejemplo. Una para bateria alta, otra para bateria media, otra para bateria baja y otra para muy baja. Si divimos el porcentaje al máximo (100%) entre las divisiones que vamos a hacer (4), nos dará el intervalo de cada imagen (25%).

Ahora pasandolo a un código:

-- Cargamos las imagenes
bateria100 = image.load("100%.png")
bateria75 = image.load("75%.png")
bateria50 = image.load("50%.png")
bateria25 = image.load("25%.png")

Con esto tenemos las imagenes cargadas, ahora vamos a pensar otra vez. Lo que queremos es que se muestren las imagenes, pero mientras estamos en la aplicación la bateria cambia, por lo que tambien necesitamos representar esto. Pues fácil, colocamos las comprobaciones en un bucle, yo voy a utilizar el while:

while true do -- Bucle infinito
   PorcentajeBateria = batt.percent() -- Guardamos en cada bucle el porcentaje de la batería actual

Ahora vamos a utilizar el if encadenado (if, elseif, elseif, elseif, ect...) ya que lo que queremos es que si el intervalo es tal, se muestre tal imagen, sino, la otra, y así:

   if PorcentajeBateria <= 100 and PorcentajeBateria > 75 then -- El primer intervalo (Si el porcentaje es menor o igual que 100 y si es mayor que 75)
      bateria100:blit(0,0)
   elseif PorcentajeBateria <= 75 and PorcentajeBateria > 50 then -- Si el porcentaje es menor o igual que 75 y si es mayor que 50
      bateria75:blit(0,0)
   elseif PorcentajeBateria <= 50 and PorcentajeBateria > 25 then -- Si el porcentaje es menor o igual que 50 y si es mayor que 25
      bateria50:blit(0,0)
   elseif PorcentajeBateria <= 25 and PorcentajeBateria >= 0 then -- Si el porcentaje es menor o igual que 25 y si es mayor o igual que 0
      bateria25:blit(0,0)
   end
 
   screen.flip()
end

Ahora es solo voltear la pantalla y cerrar el bucle...

 

Saludos ^-^


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).

tambien te ahorras la

tambien te ahorras la variable y pon directaente la funcion if PorcentajeBateria <= 100 and batt.percent() > 75 then digo eso haria yo.

Imagen de User170294

NO. batt.percent() devuelbe

NO. batt.percent() devuelbe un número del 0 al 99. Nunca más.

uN SALUDO

Imagen de barney77

Mentira, no se que

Mentira, no se que documentación tengas, pero devuelve un numero entre 0-100.

 

Imagen de User170294

Me confundí on charging

Me confundí on charging status.

No creo que a ti te guste que digas algo y otro diga: Mentira!

ya que lo que digo lo digo para ayudar no para confundir.

abria estado mejor un: te confundes...

Un saludo.


Imagen de barney77

La variable que contiene el

La variable que contiene el porcentaje de la batería, sacala del bucle.

Imagen de User170294

Si saca la variable fuera de

Si saca la variable fuera de la función esta no se actualizará a cada barrido del bucle. Si la metes dentro podrás saber la batería exacta que queda en cada instante de tiempo.


Imagen de barney77

Creo que con los if's hace lo

Creo que con los if's hace lo mismo , la verdad no lo se, jamás he probado eso de onekerafa.

Imagen de User170294

Te recomiendo que te pases

Te recomiendo que te pases por AQUÍ.

uN SALUDO ;)


Imagen de barney77

NO me entendiste xD, pero no

NO me entendiste xD, pero no importa, ya con lo de onekerafa me aclare.
Saludos.

Imagen de NEKERAFA

No

Ya que sino me dara el mismo porcentaje y yo necesito saber cual es el porcentaje en ese momento

Imagen de barney77

Creo que eso no importa, la

Creo que eso no importa, la verdad esque yo lo hago con draw.ovar y no podría decirte si es correcto hacerlo fuera o dentro del bucle.

Imagen de NEKERAFA

Claro...

¿Tu pones una variable o insertas la funcion batt.percent dentro de la funcion draw.pbar (Que es lo que creo que te refieres)? ya que si haces lo segundo es como si lo actualizaras a cada barrido del bucle...


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 barney77

Cierto, fallo mío, hago lo

Cierto, fallo mío, hago lo segundo :b.

La variable esa es mejor

La variable esa es mejor meterla dentro del bucle, asi se "actualiza" como dice nekerafa.

tambien puedes mostrarla con

tambien puedes mostrarla con draw.pbar() y si quieres en la imagen le sobrepones el marco de la bateria, pero solo el marco para que la barra se vea y vaya llenandola. Solo una sugerencia.

Imagen de NauTiluS1

Pues si, si bateria es una

Pues si, si bateria es una variable que tiene el porcentaje de la bateria.

Imagen de luisadniel

porque no le pones al 80 un %

porque no le pones al 80 un %

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.