Anuncios Google

insertar imagen *.png con dimensioanes superiores a 480X272

Porqué no puedo insertar una imagen con la funcion screen:blit() mayor k la resolución de la psp. Lo quiero hacer para mover un fondo de pantalla mientras el jugador del juego se va moviendo.
Como hacerlo? 



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 NITEMAN

La respuesta es...

 ... MEMORIA. Cuando cargas una imagen lo que haces es copiar su contenido en memoria ram (esto es valido genericamente en practicamente cualquier sistema informático) bien en la del subsistema gráfico (las tarjetas gráficas de los pcs) bien en su memoria convencional. A la hora de programar la memoria y el tiempo de proceso deben considerarse bienes escasos y costosos... demasiado para "desperdiciarlos" por una simple cuestión de comodidad a la hora de programar.

El parrafo anterior es la respuesta académica tradicional al problema, en la actualidad en los pcs cada día se aplica menos esa regla, ya que los costes fuertes estan en el "programador/hora" más que en los recursos de máquina. Pero para sistemas "limitados" como una PSP considerala completamente válida y una regla a la hora de medir la calidad de tu código.

Salu2, espero haberte servido de ayuda. 


"El infierno a mi izquierda, el paraiso a mi derecha y el angel de la muerte tras de mi."


"El paraí­so a mi derecha, el infierno a mi izquierda y el ángel de la muerte tras de mi."

Creo que podrias recrtar la

Creo que podrias recrtar la imagen en varios trozos y impremirlo screen:blit con la x de la imagen anterior mas el ancho y asi pulsas derecha por ejemplo y le restas la x al 1º y como la segunda imagen va pegada al 1º ira pasando y asi con las demas imagenes. Aun no lo he probado pero te podria valer, por cierto de donde has sacado una imagen tan larga?

Imagen de juanitosilverellargo

haber si te he entendidio...

Creo que tu proposito es mover, por ejemplo, un fondo que te ocupe totda la ptantalla... por ejemplo para crear la sensación de movimento, con un paisaje.

Ya lo escribi y el codigo es similar a como has comentado... No hace falta usar muchas imágenes como comentas... Con una sola que su final concorde con su principio ya vale. El codigo sería el siguiente:

 imgfond = Image.load("imgfond.png")
x1=0
x2=480
while true do
    pad= Controls.read()
    screen:blit(x1,0,imgfond)
    x1=x1-2    
    screen:blit(x2,0,imgfond)
    x2=x2-2
    if x2==0 then
        x1 = 480
    end
    if x1==0 then
        x2 = 480
    end
   

    if pad:select() then
        break
    end
    screen.flip()
end


si algo asi, aunque se te ha

si algo asi, aunque se te ha olvidado poner el boton pa echarlo a andar

Imagen de juanitosilverellargo

NO

No. Este código solo mueve el fondo automáticamente. No se me ha olvidado. Es solo una prueba. Faltaría el jugador y que el fondo se moviera solo cuando el jugador se acercara a uno de los dos márgenes.. me explico?


ok, te entiendo

ok, te entiendo

es muy grande? creo que el

es muy grande?
creo que el limite para alojar una imagen era de 512x512

un saludo
Spirax

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.