Java - Juego de rol 2D - 60 Mapa definido

preview_player
Показать описание
En este episodio finalmente definiremos el mapa y comprobaremos si funciona.

#programacion #juegos

¿QUIERES APOYAR EL CANAL ECONÓMICAMENTE?

¡HABLEMOS!
Рекомендации по теме
Комментарии
Автор

al fin dibujando en la pantalla, ha sido un capitulo largo pero he aprendido montones jeje :D

raymondharley
Автор

Eres autentico, si señor, muy bueno .

obij
Автор

Por casualidad alguien sabe porque no el programa no lee la ruta del archivo de texturas? Me da error nullpointerexception y no hay forma de avanzar

mismiss
Автор

Buen video, justo me daba un problema asi que lo probe con el system.out, y era una tonteria el problema, el "-" lo confundi con "_" por eso me salia error, estuve un buen rato revisando todo el codigo para ver en que habia fallado tan solo en esa maldita cosa debo comprarme lentes XD T-T

Nightwishh
Автор

bueno llego bastante tarde pero aun asi es bueno contar lo que me susedio... la cosa es que los sprites no estaban mostrandose bien desde el dia que hisimos la prueba para comprobar si se mostraba un sprite el srite de la primera fila en su respectiva hoja me salia bien pero cuando intentaba bajar a la segunda linea canbiendo los parametros en ves de moverse 32 pixeles al sprite de abajo solo se mivia 1 pixel por fila que bajaba, yo no le preste atencion pensando que era un bug de programa en si y que luego lo revisariamos pero cuando me di cuenta en este episodio que a ti todo te salia bien entonses pues agarre valor y gracias a tus debbugins intensos xdxd comense a ver sonde estaba el error... al final solo era una estupida variable en hojasprite en donde enves de poner un * puse un + xdxdxdxd

lomasrandom
Автор

hola, cuando intento imprimir los sprite que tengo como se muestra en el video pero me sale son 1 o 2 pixeles de cada imagen con espacio ente ellas. Imagino que me debe faltar algun 32 pero no se donde.

MrDahakaCo
Автор

que interesante sabias que existen atajos, recién me entero si escribes pr y pulsa tab tienes private lo mismo sout+ tab = System.out.printl, o la mejor psvr + tab = public static void main, for+tab, if +tab, etc etc sabes lo que te ahorras escribiendo por eso netbeans es de lo mejor.

nicomanunico
Автор

solo para hacerlo mas rapido.
si en eclipse escribes sysout y le das a la tecla espacio te escribe System.out.println() ;)

daniel
Автор

Yo tuve un error muy tonto, se me olvido cambiar el "return null;" de la clase asignar sprites. :):):):):)

eldelosrobots
Автор

Buenas, me gustaría preguntarte algo a ver si entiendes mas que yo del tema. Cuando acabe tus vídeos me gustaría ponerme a aprender otro lenguaje, uno que sirva en el mundo laboral para el desarrollo de videojuegos. He visto que se usa mucho C++ pero también he leído muchas recomendaciones de aprender C# por su facilidad y ayudas para este propósito. Estoy en duda. Si sabes sobre este tema, ¿ podrías decirme tu opinión?

pentokos
Автор

+Java Dev One Tengo un error 9
SABRÍAS DECIRME A QUE SE DEBE?

gaizkaguerrero
Автор

hola Java Dev ya me llevo viendo todos los vídeos de este curso son una pasada y aprendí muchísimo tanto que antes java no tenia apenas ni idea voy a seguir viendo mas los vídeos pero sin antes darte unos consejos ya que vi el vídeo 111 del zombi y en la generación de mapa vi que estabas igual que ahora.
no se como de complicado lo tendrás ya pero si el archivo del mapa lo estructuras como si fuera un archivo ini tendrías un montón de posibilidades y seria muchísimo mas fácil de leer por ejemplo solo con preguntar el ancho ya te lo daría y no tendrías que seguir el orden daría igual donde estuviese.
por si no lo conoces te dejo este enlace que vi.

como veo que no eres reacio a volver hacer el código creo que lo podrías cambiar y te ayudaría muchísimo es solo una opinión.
un saludo

daniel_mg
Автор

me da error me podías decir porque por favor

package principal.mapas;

import java.util.ArrayList;
import
import principal.sprite.HojaSprite;
import principal.sprite.Sprite;

public class Mapa {
private String[] partes;

private final int ancho;
private final int alto;

private final Sprite[] paleta;
private final boolean[] colisiones;
private final int[] sprites;

public Mapa(final String ruta) {

String contenido =

partes = contenido.split("\\*");
ancho = Integer.parseInt(partes[0]);
alto = Integer.parseInt(partes[1]);

String hojasUltilizadas = partes[2];
String[] hojasSeparadas=hojasUltilizadas.split(", ");


String paletaEnteras = partes[3];

String[] partesPaleta = paletaEnteras.split("#");

asignarSprites(partesPaleta, hojasSeparadas);
paleta = new Sprite[partesPaleta.length];

String colisionesEnteras = partes[4];

colisiones =



String spriteEnteros = partes[5];
String[] cadenasSprites = spriteEnteros.split(" ");

sprites =


}

private Sprite[] asignarSprites(final String[] partesPaleta, final String[] hojasSepasradas){
HojaSprite hoja=new HojaSprite(" / imagenes / hojasTexturas / " + hojasSepasradas[0] + ".png, ", 32, false);

return null;
}
private boolean[] extraerColisiones(final String cadenaColisiones){

boolean[] colisiones=new
for (int i = 0; i <cadenaColisiones.length(); i++) {
if (cadenaColisiones.charAt(i) == '0') {
colisiones[i] = false;


} else {
colisiones[i] = true;

}

}

return colisiones;
}

private int[] extraerSprite(final String[] cadenasSprites){

ArrayList<Integer> sprites = new ArrayList<Integer>();

for (int i = 0; i < cadenasSprites.length; i++) {
if {




}else{
String uno = "";
String dos = "";

String error = cadenasSprites[i];

uno += error.charAt(0);
uno += error.charAt(1);

dos +=error.charAt(2);
dos +=error.charAt(3);





}
}

int[] vectorSprite = new int [sprites.size()];
for (int i = 0; i < sprites.size(); i++) {
vectorSprite [i] = sprites.get(i);


}
return vectorSprite;
}


}

javaprogramingcs
Автор

Si alguien le falla lo pongo aca para que seguien:
"Mapa.java"
package principal.mapas;

import java.util.ArrayList;

import
import
import principal.sprites.Sprite;

public class Mapa {

private String[] partes;

private final int ancho;
private final int alto;

private final Sprite[] paleta;

private final boolean[] colisiones;

private final int[] sprites;

public Mapa(final String ruta) {

String contenido =

partes = contenido.split("\\*");

ancho = Integer.parseInt(partes[0]);
alto = Integer.parseInt(partes[1]);

String hojasUtilizadas = partes[2];
String[] hojasSeparadas = hojasUtilizadas.split(", ");

// Lectura de la pleta de sprites
String paletaEntera = partes[3];
String[] partesPaleta = paletaEntera.split("#");

// Asignar sprites aqui
paleta = asignarSprites(partesPaleta, hojasSeparadas);

// paleta = new Sprite[partesPaleta.length];

String colisionesEnteras = partes[4];
colisiones =

String spritesEnteros = partes[5];
String[] cadenasSprites = spritesEnteros.split(" ");

sprites =
}

private Sprite[] asignarSprites(final String[] partesPaleta, final String[] hojasSeparadas) {
Sprite[] paleta = new Sprite[partesPaleta.length];

HojaSprites hoja = new + hojasSeparadas[0] + ".png", 32, false);

for (int i = 0; i < partesPaleta.length; i++) {
String spriteTemporal = partesPaleta[i];// Ok no tiene problema

String[] partesSprite = spriteTemporal.split("-");// El problema esta aca

int indicePaleta =

int indiceSpriteHoja =

paleta[indicePaleta] =
}
return paleta;
}

private boolean[] extraerColisiones(final String cadenaColisiones) {
boolean[] colisiones = new

for (int i = 0; i < cadenaColisiones.length(); i++) {
if (cadenaColisiones.charAt(i) == '0') {
colisiones[i] = false;
} else {
colisiones[i] = true;
}
}

return colisiones;
}

private int[] extraerSprites(final String[] cadenasSprites) {
ArrayList<Integer> sprites = new ArrayList<Integer>();

for (int i = 0; i < cadenasSprites.length; i++) {
if (cadenasSprites[i].length() == 2) {

} else {
String uno = "";
String dos = "";

String error = cadenasSprites[i];

uno += error.charAt(0);
uno += error.charAt(1);

dos += error.charAt(2);
dos += error.charAt(3);



}
}

int[] vectorSprites = new int[sprites.size()];

for (int i = 0; i < sprites.size(); i++) {
vectorSprites[i] = sprites.get(i);
}

return vectorSprites;
}

public int obtenerAncho() {
return this.ancho;
}

public int obtenerAlto() {
return this.alto;
}

public Sprite obtenerSpritePaleta(final int indice) {
return paleta[indice];
}

public Sprite obtenerSpritePaleta(final int x, final int y) {
return paleta[x + y * this.ancho];
}

public Sprite[] obtenerPaleta() {
return this.paleta;
}
}

Nightwishh
Автор

Tengo un error y no puedo encontrarlo. No tengo espacios o cosas asi entre los numeros u otros simbolos extraños, mira unas imagenes:

FioRazz