Bien, tengo este code:
function sniveles() astro=1; while true do controls.read(); if astro==1 then image.blit(0,0,tablamenu[8]) end if astro==2 then image.blit(0,0,tablamenu[9]) end if astro==3 then image.blit(0,0,tablamenu[10]) end if astro==4 then image.blit(0,0,tablamenu[11]) end if astro==5 then image.blit(0,0,tablamenu[12]) end if astro==6 then image.blit(0,0,tablamenu[13]) end if astro==7 then image.blit(0,0,tablamenu[14]) end if astro==8 then image.blit(0,0,tablamenu[15]) end if astro==9 then image.blit(0,0,tablamenu[16]) end if astro==10 then image.blit(0,0,tablamenu[17]) end if astro==11 then image.blit(0,0,tablamenu[18]) end if astro==12 then image.blit(0,0,tablamenu[19]) end if astro==13 then image.blit(0,0,tablamenu[20]) end if astro==14 then image.blit(0,0,tablamenu[21]) end if astro==15 then image.blit(0,0,tablamenu[22]) end if controls.press("left") then sound.play(sonido1,1) astro=astro-1 elseif controls.press("right") then sound.play(sonido1,1) astro=astro+1 end if astro<15 then astro=1 elseif astro>15 then astro=1 end screen.flip(); end end;
Y tablamenu es un for, está asi..
tablamenu={}; for var=1,22 do tablamenu[var]=image.load("Imagenes/M"..var..".png"); end
He echo lo mismo con otras funciones y si funciona, porque pasara?
Y el error esque presiono derecha e izquiera y se queda la imagen primera(como si astro no cambiara), pero lo raro esque si suena el sonido D:
reducción de code...
Si usas arrays, facílmente puedes hacer que esto:
Pase a esto:
Saludos! xD
PSP FAT [5.00 M33-6] [6.60 ME] [Hard Moded] / Nintendo Wii [4.1U] [cIOS Hermes] [D2X cIOS] / iPhone 3G [4.2.1] [BB 05.13.04] [redsn0w] / iPod Touch 4 [6.1] [evasi0n]
07/05/10: Tuve el placer de llamarle con todo derecho "N00B" a molotovi xDDD
Recuerda: Sé el intérprete -_-
nota
el codigo esta mal aca, ya que siempre sera menor que 15 y sera a 1, y nunca mayor a 15, y sera a 1
y lo que dices...
if astro>=1 && astro<=15 then image.blit(0,0,tablamenu[astro+7]) end
es mas simple, si nunca sera menor a 1 o mayor a 15, seria mejor asi...
solo esto--- > image.blit(0,0,tablamenu[astro+7])
eso sustituye tu linea, o las 15 lineas anteriores...
GuinXell aprender mas...
sep xD
Tienes toda la razón, el problema es que solo vi el chorro de ifs iguales y los agrupé, el resto ni lo leí =(
Pero eso es de los niveles,
Pero eso es de los niveles, osea que a cada if necesito otro if que cuando presione X arrance el nivel1,2,3....
Probare el code, una duda pra que son estos:
&& ?Significan And?
Oops
Es lo que pasa cuando mezclas lenguajes :S
En realidad allí iba "and" tengo el "&&" pegado de Java xD
eso me paso a mi xD
eso me paso a mi xD
¿Pero en lua && no es
¿Pero en lua && no es operador binario? (o como se llame)
uno solo....
uno solo si es operador binario "a & b" busca mi tuto de operaciones...
Alguna parte en especial da
Alguna parte en especial da error? Se cuelga? pantalla negra? El error (de programación o lógico) debe estar en el resto del code, deberías revisarlo.
PD. La serie de if's que tienes arriba se puede compactar con un for ;)
No, la verdad esque no.. solo
No, la verdad esque no.. solo se queda en astro=1, pero si suena el sonido.
Y lo de omitir if´s con for, creo saber como voy ha hacerlo, ahora lo hago como pienso, sualquier duda te aviso.
EDITO: El error parece estar en esta linea:
if astro<15 then astro=1 elseif astro>15 then astro=1 end
La quite y ahora va perfecto, solo que esa linea me funciona perfectamente en las demas funciones ...
imposible
eso es imposible, ya que tu mismo lo dices ahi, si es diferente de 15, dame 1 y entus otras funciones que dices que te funciona, dudo tengas esa misma comparacion si esperabas un 2,3,4,5,6,7...
GuinXell aprender mas...
Te aseguro que no la tienes
Te aseguro que no la tienes bien, esa condición dice que si astro es menor que 15, astro será 1. Si astro mayor que 15, astro será 1 también xD
Sí, ya me di cuenta xD, ya
Sí, ya me di cuenta xD, ya está solucionado, ya puse la condicion bien..
Gracias por abrirme los ojos, ando medio tumbado el dia de hoy, será mejor que descanse un poco.
Salu2.