Java - Arrayindexoutofbounds

 
Vista:
sin imagen de perfil
Val: 8
Ha aumentado su posición en 4 puestos en Java (en relación al último mes)
Gráfica de Java

Arrayindexoutofbounds

Publicado por Carlos (4 intervenciones) el 30/03/2020 01:35:05
En este proyecto hay dos métodos, uno viejo llamado dibujar y otro nuevo llamado cargarPixelesDelEsprite ambos dentro de la clase pantalla.

No consigo leer ninguno de los dos tableros, da igual cual. (la lectura se hace de arriba a abajo y de izquierda a derecha). No he conseguido averiguar qué misterio esconde para que se consiga mostrar la imagen en la pantalla.

https://github.com/carlosseguraanton/juego2d-java

Un saludo.
metodo-viejo-dibujar
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Arrayindexoutofbounds

Publicado por Rodrigo (623 intervenciones) el 30/03/2020 01:54:45
"Arrayindexoutofbounds" hace pensar que el || tiene que ser cambiado por && en la linea 42 y 48.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 8
Ha aumentado su posición en 4 puestos en Java (en relación al último mes)
Gráfica de Java

Arrayindexoutofbounds

Publicado por Carlos (4 intervenciones) el 30/03/2020 02:54:30
Es necesario que descargues y ejecutes el proyecto, la captura de pantalla es de un método desactualizado para dar más contexto.

La solucion que estás proponiendo ya está implementada. Trata de ejecutar el código.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Arrayindexoutofbounds

Publicado por Kabuto (1381 intervenciones) el 30/03/2020 12:09:53
No se como ayudarte porque esto me supera.
He ejecutado tu código y parece que el problema estaría en este método:

juego


La variable indexDelPixelAOcupar que usas como índice del array, adquiere valores que superan la longitud de ese array.

Así que tal vez habría que revisar si por ejemplo esta forma de calcular el índice es la correcta:
1
int indexDelPixelAOcupar = sumaDePosiciones * ancho;

Yo lo desconozco, lamento no poder aportar nada más.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 8
Ha aumentado su posición en 4 puestos en Java (en relación al último mes)
Gráfica de Java

Arrayindexoutofbounds

Publicado por Carlos (4 intervenciones) el 30/03/2020 13:23:58
Muchas gracias por tu tiempo y dedicación. Aunque no lo parezca tu comentario me ayuda bastante. Lo que has dicho me va a ayudar a reflexionar. Esa parte en concreto es la más importante de todo el proyecto ya que es la línea final del motor gráfico del juego. En efecto tienes razón, debo estar calculando mal el indice del pixel de forma que estoy leyendo por encima de hoja de sprites. En efecto estoy creando un sistema de coordenadas cartesiano propio donde podría usar un array bidimensional. Pero sumando las coordenadas x e y obtengo un indice de referencia para ese pixel dentro del plano cartesiano coordenado. Quizas tenga que abandonar este sistema de coordenadas propio.
El Arrayindexoutofboundsexception nunca deberia producirse.
Me ayudaría mucho difundir este mensaje a otros programadores java.

Gracias por tomarte la molestia de ejecutar el código. Buena suerte también si decidieras continuar con el desarrollo de este proyecto.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar