Anuncios Google

Problemas con imagenes?

Bien, solucionado el código del cursor (puse x1, x1 y tenia que ser x1, y1) lo he provado y va a las mil maravillas hasta elegir una opcion:

-- Cargamos imágenes--
cursor = Image.load("./img/cursor.png")
menu = Image.load("./img/fondo.png")
icono1 = Image.load("./img/ico/icono1.png")
icono1sel = Image.load("./img/ico/icono1sel.png")
icono2 = Image.load("./img/ico/icono2.png")
icono2sel = Image.load("./img/ico/icono2sel.png")
icono3 = Image.load("./img/ico/icono3.png")
icono3sel = Image.load("./img/ico/icono3sel.png")
icono4 = Image.load("./img/ico/icono4.png")
icono4sel = Image.load("./img/ico/icono4sel.png")
icono5 = Image.load("./img/ico/icono5.png")
icono5sel = Image.load("./img/ico/icono5sel.png")
icono6 = Image.load("./img/ico/icono6.png")
icono6sel = Image.load("./img/ico/icono6sel.png")
icono7 = Image.load("./img/ico/icono7.png")
icono7sel = Image.load("./img/ico/icono12sel.png")
icono8 = Image.load("./img/ico/icono8.png")
icono8sel = Image.load("./img/ico/icono12sel.png")
icono9 = Image.load("./img/ico/icono9.png")
icono9sel = Image.load("./img/ico/icono12sel.png")
icono10 = Image.load("./img/ico/icono10.png")
icono10sel = Image.load("./img/ico/icono12sel.png")
icono11 = Image.load("./img/ico/icono11.png")
icono11sel = Image.load("./img/ico/icono12sel.png")
icono12 = Image.load("./img/ico/icono12.png")
icono12sel = Image.load("./img/ico/icono12sel.png")
-- Variables
x = 0
x0 = 235
y0 = 150
x1 = 0
y1 = 0
 
function borrar()
fondo = nil
cursor = nil
icono1 = nil
icono1sel = nil
icono2 = nil
icono2sel = nil
icono3 = nil
icono3sel = nil
icono4 = nil
icono4sel = nil
icono5 = nil
icono5sel = nil
icono6 = nil
icono6sel = nil
icono7 = nil
icono7sel = nil
icono8 = nil
icono8sel = nil
icono9 = nil
icono9sel = nil
icono10 = nil
icono10sel = nil
icono11 = nil
icono11sel = nil
icono12 = nil
icono12sel = nil
collectgarbage()
end
 
-- Pulsaciones
function LeerPulsacion()
pad = Controls.read()
x1 = x0
y1 = y0
dy = pad:analogY()
dx = pad:analogX()
if math.abs(dx) > 64 then
x0 = x0 + dx / 24
end
if math.abs(dy) > 64 then
y0 = y0 + dy / 24
end
if pad:up() then
y0 = y0 - 10
end
if pad:down() then
y0 = y0 + 10
end
if pad:right() then
x0 = x0 + 10
end
if pad:left() then
x0 = x0 - 10
end
 
if x0 >= 82 and x0 <= 146 and y0 >= 21 and y0 <= 85 and pad:cross() then
borrar()
dofile ("./sections/creditos.lua")
end
if x0 >= 152 and x0 <= 216 and y0 >= 21 and y0 <= 85 and pad:cross() then
borrar()
dofile ("./sections/Bateria.lua")
end
if x0 >= 222 and x0 <= 286 and y0 >= 21 and y0 <= 85 and pad:cross() then
borrar()
dofile ("./sections/InfoPSP.lua")
end
if x0 >= 292 and x0 <= 356 and y0 >= 21 and y0 <= 85 and pad:cross() then
borrar()
dofile ("./sections/test.lua")
end
if x0 >= 362 and x0 <= 426 and y0 >= 21 and y0 <= 85 and pad:cross() then
borrar()
dofile ("./sections/explorador.lua")
end
if x0 >= 82 and x0 <= 146 and y0 >= 101 and y0 <= 165 and pad:cross() then
borrar()
dofile ("./sections/ups.lua")
end
if x0 >= 152 and x0 <= 216 and y0 >= 101 and y0 <= 165 and pad:cross() then
borrar()
dofile ("./sections/ups.lua")
end
if x0 >= 222 and x0 <= 286 and y0 >= 101 and y0 <= 165 and pad:cross() then
borrar()
dofile ("./sections/ups.lua")
end
if x0 >= 292 and x0 <= 356 and y0 >= 101 and y0 <= 165 and pad:cross() then
borrar()
dofile ("./sections/ups.lua")
end
if x0 >= 362 and x0 <= 426 and y0 >= 101 and y0 <= 165 and pad:cross() then
borrar()
dofile ("./sections/ups.lua")
end
if x0 >= 82 and x0 <= 146 and y0 >= 181 and y0 <= 245 and pad:cross() then
borrar()
dofile ("./sections/ups.lua")
end
if x0 >= 152 and x0 <= 216 and y0 >= 181 and y0 <= 245 and pad:cross() then
borrar()
dofile ("./sections/ups.lua")
end
end
--Bucle principal--
while true do
if x0<0 then
x0=0
end
if x0>478 then
x0=478
end
if y0<0 then
y0=0
end
if y0>270 then
y0=270
end
--Menu--
screen:clear()
screen:blit (0, 0, menu)
screen:blit (82, 21, icono1)
screen:blit (152, 21, icono2)
screen:blit (222, 21, icono3)
screen:blit (292, 21, icono4)
screen:blit (362, 21, icono5)
screen:blit (82, 101, icono6)
screen:blit (152, 101, icono7)
screen:blit (222, 101, icono8)
screen:blit (292, 101, icono9)
screen:blit (362, 101, icono10)
screen:blit (82, 181, icono11)
screen:blit (152, 181, icono12)
 
--Damos Efecto al pasar el Cursor Encima--
if x0 >= 82 and x0 <= 146 and y0 >= 21 and y0 <= 85 then
 screen:blit(82, 21, icono1sel)
 end
if x0 >= 152 and x0 <= 216 and y0 >= 21 and y0 <= 85 then
 screen:blit(152, 21, icono2sel)
 end
 if x0 >= 222 and x0 <= 286 and y0 >= 21 and y0 <= 85 then
 screen:blit(222, 21, icono3sel)
 end
 if x0 >= 292 and x0 <= 356 and y0 >= 21 and y0 <= 85 then
 screen:blit(292, 21, icono4sel)
 end
 if x0 >= 362 and x0 <= 426 and y0 >= 21 and y0 <= 85 then
 screen:blit(362, 21, icono5sel)
 end
 if x0 >= 82 and x0 <= 146 and y0 >= 101 and y0 <= 165 then
 screen:blit(82, 101, icono6sel)
 end
 if x0 >= 152 and x0 <= 216 and y0 >= 101 and y0 <= 165 then
 screen:blit(152, 101, icono7sel)
 end
 if x0 >= 222 and x0 <= 286 and y0 >= 101 and y0 <= 165 then
 screen:blit(222, 101, icono8sel)
 end
 if x0 >= 292 and x0 <= 356 and y0 >= 101 and y0 <= 165 then
 screen:blit(292, 101, icono9sel)
 end
 if x0 >= 362 and x0 <= 426 and y0 >= 101 and y0 <= 165 then
 screen:blit(362, 101, icono10sel)
 end
 if x0 >= 82 and x0 <= 146 and y0 >= 181 and y0 <= 245 then
 screen:blit(82, 181, icono11sel)
 end
 if x0 >= 152 and x0 <= 216 and y0 >= 181 and y0 <= 245 then
 screen:blit(152, 181, icono12sel)
 end
 screen:blit(x1, y1, cursor)
 screen.waitVblankStart()
 screen.flip()
 LeerPulsacion()
 end

 

Me dice, ERROR: Bad argument 2# Image Expected got nil

De donde puede venir ese error?

Cabe destacar, que me ocurre al pulsar un icono que es un sobre plástificado, es decir, los que no estan en uso y los lleva a el ups.lua, ademas del explorador y créditos.

En cambio InfoPSP y InfoBatery si que funcionan.

Extraño, eh?

 


We're off now to seek all our fortunes to the land... of... our dreams


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 moikop

Cuantas lineas de código

Cuantas lineas de código desperdiciadas!!

Te has dado cuenta de que escribes

fondo = nil
cursor = nil
icono1 = nil
icono1sel = nil
icono2 = nil
icono2sel = nil
icono3 = nil
icono3sel = nil
icono4 = nil
icono4sel = nil
icono5 = nil
icono5sel = nil
icono6 = nil
icono6sel = nil
icono7 = nil
icono7sel = nil
icono8 = nil
icono8sel = nil
icono9 = nil
icono9sel = nil
icono10 = nil
icono10sel = nil
icono11 = nil
icono11sel = nil
icono12 = nil
icono12sel = nil
collectgarbage()
dofile ("./sections/ups.lua")

Millones de veces? Por qué no lo simplificas con una función simple como esta:?

function borrar(directorio)
fondo = nil
cursor = nil
icono1 = nil
icono1sel = nil
icono2 = nil
icono2sel = nil
icono3 = nil
icono3sel = nil
icono4 = nil
icono4sel = nil
icono5 = nil
icono5sel = nil
icono6 = nil
icono6sel = nil
icono7 = nil
icono7sel = nil
icono8 = nil
icono8sel = nil
icono9 = nil
icono9sel = nil
icono10 = nil
icono10sel = nil
icono11 = nil
icono11sel = nil
icono12 = nil
icono12sel = nil
collectgarbage()
dofile (directorio)
end

Y reemplazas por ejemplo esto:

if x0 >= 152 and x0 <= 216 and y0 >= 181 and y0 <= 245 and pad:cross() then
fondo = nil
cursor = nil
icono1 = nil
icono1sel = nil
icono2 = nil
icono2sel = nil
icono3 = nil
icono3sel = nil
icono4 = nil
icono4sel = nil
icono5 = nil
icono5sel = nil
icono6 = nil
icono6sel = nil
icono7 = nil
icono7sel = nil
icono8 = nil
icono8sel = nil
icono9 = nil
icono9sel = nil
icono10 = nil
icono10sel = nil
icono11 = nil
icono11sel = nil
icono12 = nil
icono12sel = nil
collectgarbage()
dofile ("./sections/ups.lua")
end

Por esto:

if x0 >= 152 and x0 <= 216 and y0 >= 181 and y0 <= 245 and pad:cross() then
borrar("./sections/ups.lua")
end

Y asi sucesivamente? Ves todas las lineas que he ahorrado?

Has eso y luego será más fácil hacerle debug a ese código...

Un saludo.


Para recibir ayuda por parte de otros usuarios más rápidamente, recomendamos que pongas títulos descriptivos y no utilices abreviaturas (estilo MSN) en tus post de los foros. Recuerda que accediendo al Manual del perfecto forero y las Normas de la Comunidad aprenderas trucos para resolver tus dudas antes.

No preguntes por MP, mejor pregunta aquí.

Si bueno xD, gracias, asi

Si bueno xD, gracias, asi queda mejor estructurado y limpio.

-- Cargamos imágenes--
cursor = Image.load("./img/cursor.png")
menu = Image.load("./img/fondo.png")
icono1 = Image.load("./img/ico/icono1.png")
icono1sel = Image.load("./img/ico/icono1sel.png")
icono2 = Image.load("./img/ico/icono2.png")
icono2sel = Image.load("./img/ico/icono2sel.png")
icono3 = Image.load("./img/ico/icono3.png")
icono3sel = Image.load("./img/ico/icono3sel.png")
icono4 = Image.load("./img/ico/icono4.png")
icono4sel = Image.load("./img/ico/icono4sel.png")
icono5 = Image.load("./img/ico/icono5.png")
icono5sel = Image.load("./img/ico/icono5sel.png")
icono6 = Image.load("./img/ico/icono6.png")
icono6sel = Image.load("./img/ico/icono6sel.png")
icono7 = Image.load("./img/ico/icono7.png")
icono7sel = Image.load("./img/ico/icono12sel.png")
icono8 = Image.load("./img/ico/icono8.png")
icono8sel = Image.load("./img/ico/icono12sel.png")
icono9 = Image.load("./img/ico/icono9.png")
icono9sel = Image.load("./img/ico/icono12sel.png")
icono10 = Image.load("./img/ico/icono10.png")
icono10sel = Image.load("./img/ico/icono12sel.png")
icono11 = Image.load("./img/ico/icono11.png")
icono11sel = Image.load("./img/ico/icono12sel.png")
icono12 = Image.load("./img/ico/icono12.png")
icono12sel = Image.load("./img/ico/icono12sel.png")
-- Variables
x = 0
x0 = 235
y0 = 150
x1 = 0
y1 = 0
 
function borrar()
fondo = nil
cursor = nil
icono1 = nil
icono1sel = nil
icono2 = nil
icono2sel = nil
icono3 = nil
icono3sel = nil
icono4 = nil
icono4sel = nil
icono5 = nil
icono5sel = nil
icono6 = nil
icono6sel = nil
icono7 = nil
icono7sel = nil
icono8 = nil
icono8sel = nil
icono9 = nil
icono9sel = nil
icono10 = nil
icono10sel = nil
icono11 = nil
icono11sel = nil
icono12 = nil
icono12sel = nil
collectgarbage()
end
 
-- Pulsaciones
function LeerPulsacion()
pad = Controls.read()
x1 = x0
y1 = y0
dy = pad:analogY()
dx = pad:analogX()
if math.abs(dx) > 64 then
x0 = x0 + dx / 24
end
if math.abs(dy) > 64 then
y0 = y0 + dy / 24
end
if pad:up() then
y0 = y0 - 10
end
if pad:down() then
y0 = y0 + 10
end
if pad:right() then
x0 = x0 + 10
end
if pad:left() then
x0 = x0 - 10
end
 
if x0 >= 82 and x0 <= 146 and y0 >= 21 and y0 <= 85 and pad:cross() then
borrar()
dofile ("./sections/creditos.lua")
end
if x0 >= 152 and x0 <= 216 and y0 >= 21 and y0 <= 85 and pad:cross() then
borrar()
dofile ("./sections/Bateria.lua")
end
if x0 >= 222 and x0 <= 286 and y0 >= 21 and y0 <= 85 and pad:cross() then
borrar()
dofile ("./sections/InfoPSP.lua")
end
if x0 >= 292 and x0 <= 356 and y0 >= 21 and y0 <= 85 and pad:cross() then
borrar()
dofile ("./sections/test.lua")
end
if x0 >= 362 and x0 <= 426 and y0 >= 21 and y0 <= 85 and pad:cross() then
borrar()
dofile ("./sections/explorador.lua")
end
if x0 >= 82 and x0 <= 146 and y0 >= 101 and y0 <= 165 and pad:cross() then
borrar()
dofile ("./sections/ups.lua")
end
if x0 >= 152 and x0 <= 216 and y0 >= 101 and y0 <= 165 and pad:cross() then
borrar()
dofile ("./sections/ups.lua")
end
if x0 >= 222 and x0 <= 286 and y0 >= 101 and y0 <= 165 and pad:cross() then
borrar()
dofile ("./sections/ups.lua")
end
if x0 >= 292 and x0 <= 356 and y0 >= 101 and y0 <= 165 and pad:cross() then
borrar()
dofile ("./sections/ups.lua")
end
if x0 >= 362 and x0 <= 426 and y0 >= 101 and y0 <= 165 and pad:cross() then
borrar()
dofile ("./sections/ups.lua")
end
if x0 >= 82 and x0 <= 146 and y0 >= 181 and y0 <= 245 and pad:cross() then
borrar()
dofile ("./sections/ups.lua")
end
if x0 >= 152 and x0 <= 216 and y0 >= 181 and y0 <= 245 and pad:cross() then
borrar()
dofile ("./sections/ups.lua")
end
end
--Bucle principal--
while true do
if x0<0 then
x0=0
end
if x0>478 then
x0=478
end
if y0<0 then
y0=0
end
if y0>270 then
y0=270
end
--Menu--
screen:clear()
screen:blit (0, 0, menu)
screen:blit (82, 21, icono1)
screen:blit (152, 21, icono2)
screen:blit (222, 21, icono3)
screen:blit (292, 21, icono4)
screen:blit (362, 21, icono5)
screen:blit (82, 101, icono6)
screen:blit (152, 101, icono7)
screen:blit (222, 101, icono8)
screen:blit (292, 101, icono9)
screen:blit (362, 101, icono10)
screen:blit (82, 181, icono11)
screen:blit (152, 181, icono12)
 
--Damos Efecto al pasar el Cursor Encima--
if x0 >= 82 and x0 <= 146 and y0 >= 21 and y0 <= 85 then
 screen:blit(82, 21, icono1sel)
 end
if x0 >= 152 and x0 <= 216 and y0 >= 21 and y0 <= 85 then
 screen:blit(152, 21, icono2sel)
 end
 if x0 >= 222 and x0 <= 286 and y0 >= 21 and y0 <= 85 then
 screen:blit(222, 21, icono3sel)
 end
 if x0 >= 292 and x0 <= 356 and y0 >= 21 and y0 <= 85 then
 screen:blit(292, 21, icono4sel)
 end
 if x0 >= 362 and x0 <= 426 and y0 >= 21 and y0 <= 85 then
 screen:blit(362, 21, icono5sel)
 end
 if x0 >= 82 and x0 <= 146 and y0 >= 101 and y0 <= 165 then
 screen:blit(82, 101, icono6sel)
 end
 if x0 >= 152 and x0 <= 216 and y0 >= 101 and y0 <= 165 then
 screen:blit(152, 101, icono7sel)
 end
 if x0 >= 222 and x0 <= 286 and y0 >= 101 and y0 <= 165 then
 screen:blit(222, 101, icono8sel)
 end
 if x0 >= 292 and x0 <= 356 and y0 >= 101 and y0 <= 165 then
 screen:blit(292, 101, icono9sel)
 end
 if x0 >= 362 and x0 <= 426 and y0 >= 101 and y0 <= 165 then
 screen:blit(362, 101, icono10sel)
 end
 if x0 >= 82 and x0 <= 146 and y0 >= 181 and y0 <= 245 then
 screen:blit(82, 181, icono11sel)
 end
 if x0 >= 152 and x0 <= 216 and y0 >= 181 and y0 <= 245 then
 screen:blit(152, 181, icono12sel)
 end
 screen:blit(x1, y1, cursor)
 screen.waitVblankStart()
 screen.flip()
 LeerPulsacion()
 end

Hay esta, creo que no hay ningun fallo.


We're off now to seek all our fortunes to the land... of... our dreams

Imagen de pspgorrister

Si bueno xD, gracias, asi

Si bueno xD, gracias, asi queda mejor estructurado y limpio.

Juas, "estructurado y limpio" dice, y se queda tan ancho.

Bueno, tú siempre a tu aire, suerte "coder".


LuaDiE: Crea en Lua sin teclear código. Compatible HM7, HMv2, LuaPlayer, LuaDEV y PGE.

En fin, veis por ahi el

En fin, veis por ahi el fallo?

Imagen de moikop

Un error

hay seguro. Porque sino no harías creado este post XDD.

Lo único que se me ocurre es que pone en nil alguna imagen que luego intenta mostrar. Por lo que te recomendaría es que borrer todas las partes donde dice imagenXX = nil y pruebes a ver si de esa manera funciona.

Un saludo.


Para recibir ayuda por parte de otros usuarios más rápidamente, recomendamos que pongas títulos descriptivos y no utilices abreviaturas (estilo MSN) en tus post de los foros. Recuerda que accediendo al Manual del perfecto forero y las Normas de la Comunidad aprenderas trucos para resolver tus dudas antes.

No preguntes por MP, mejor pregunta aquí.

Ya, pero entonces no puedo

Ya, pero entonces no puedo limpiarlas y me quedo sin memoria RAM.

Imagen de moikop

Eso por ahora no importa.

Lo que realmente importa es encontrar la fuente del error. Si lo encuentras, sabrás que pasa y podrás arreglarlo. Luego hay tiempo para preocuparse por la RAM...

Un saludo.


Para recibir ayuda por parte de otros usuarios más rápidamente, recomendamos que pongas títulos descriptivos y no utilices abreviaturas (estilo MSN) en tus post de los foros. Recuerda que accediendo al Manual del perfecto forero y las Normas de la Comunidad aprenderas trucos para resolver tus dudas antes.

No preguntes por MP, mejor pregunta aquí.

Sin nilear las imagenes si

Sin nilear las imagenes si que funciona! Creo, que el bucle las muestra SIEMPRE, es decir, cuando las nileo las intenta mostrar y no puede, por eso pasa solo cuando lo deoy a un icono.


We're off now to seek all our fortunes to the land... of... our dreams

mmm

cheka que la(s) imagen(es) esten todas cargadas...por ejemplo:
si quieres blitear una imagen procura que la imagen que quieras blitear este cargada...

un saludo y suerte ;)

Estan todas cargadas

Estan todas cargadas.

mmm

dejame copio el codigo y ahora te digo...

ok

ok

Ok

pues por lo visto,lo que pasa es que...necesito una aspirina :S (XD) pues me duele la cabeza por el codigo....simplemente no lo entiendo...si los de mas son practicamente iguales(casi) porque ahi da un error?

solo una pregunta...que se supone que pretendes hacer con el codigo...que quieres que haga? quiza se pueda interpretar el codigo diferente...

 

un saludo (y voy por la aspirina)

Es un menu con cursor. AL

Es un menu con cursor. AL pasar el cursor por encima de un icono, cambia. Funciona PERFECTO, lo extraño es que al pulsar X en algunos iconos me mete ese extraño error. En otros iconos si que va!

PD: A mi también me duele la cabezo. Estoy asi hace 4 dias.


We're off now to seek all our fortunes to the land... of... our dreams

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.