[PSP] Problema con LUA

Pos que me puse hace poco a aprender un poco de LUA, pero llevo tiempo peleando con una cosa y no me sale. El caso es que no tengo ni PI de programacion, y para hacer que una imagen se moviera en pantalla al pulsar un boton me llevo casi una hora ¬_¬ .

El problema es que cada vez que suelto el boton, la imagen vuelve al lugar de origen, y no tengo webos a arreglarlo.

Supongo qu abra mas maneras de hacerlo, pero yo lo hice asi.
masual= Image.load("flower.png")


while true do
screen:clear()

x=0
y=0

pad=Controls.read()

if pad:cross() then
x=0+1
end

if pad:square()then
y=0+1
end

screen:blit(x,y,masual)


screen.waitVblankStart()
screen.flip()
end




Estuve mirando tutos y nada, que no soy capaz de arreglarlo.

Gracias por adelantado.(Y no me insulteis por corto de miras [burla2] )
Mmmm en LUA no he programado nunca, pero lo que dices es por que las variales X e Y mantienen su posición, declaralas fuera del bucle por que si las pones dentro siempre tendrán de inicio el valor 0 ambas y con la condición de "true" el bucle va a ser como infinito, no?
Claro, el problema es ese, que las variables se vuelven a poner a 0 xd

Por otro lado...el Lua no permite llaves? '{' '}'

Es que sin llaves uno se vuelve loco para saber dónde empiezan y terminan los bucles (supongo que con los end, yo sólo he programao en c++, y poco...:P).
Mira yo no he programado nunca en LUA pero vamos, si no pudes poner llaves, lo que debes usar es el sangrado es decir, todo lo que este dentro del while tendra un tabulador mas al inicio y asi es diferenciable claramente.

Por cierto, no es aconsejable poner bucles infinitos, usa una condicion.
masual escribió:Pos que me puse hace poco a aprender un poco de LUA, pero llevo tiempo peleando con una cosa y no me sale. El caso es que no tengo ni PI de programacion, y para hacer que una imagen se moviera en pantalla al pulsar un boton me llevo casi una hora ¬_¬ .

El problema es que cada vez que suelto el boton, la imagen vuelve al lugar de origen, y no tengo webos a arreglarlo.

Supongo qu abra mas maneras de hacerlo, pero yo lo hice asi.


Estuve mirando tutos y nada, que no soy capaz de arreglarlo.

Gracias por adelantado.(Y no me insulteis por corto de miras [burla2] )



Yo creo que el problema esta en que inicializas X e Y dentro del bucle WHILE, por tanto en cada iteracion representa la imagen en la misma posicion.Saca fuera del bucle el X=0 y la Y=0.


seria algo asi:

masual= Image.load("flower.png")

x=0
y=0

while true do
screen:clear()

pad=Controls.read()

if pad:cross() then
x=0+1
end

if pad:square()then
y=0+1
end

screen:blit(x,y,masual)


screen.waitVblankStart()
screen.flip()
end
5 respuestas