¿ Como puedo hacer esto en mi videojuego ? (Mario)

Iniciado por DarkSorcerer, 3 Agosto 2013, 13:40 PM

0 Miembros y 1 Visitante están viendo este tema.

DarkSorcerer

Estoy creando un juego que simula el Mario World, lo hice por medio de clases (por el momento no quiero poner el codigo todavia), el programa consta de una clase que se llama Mario (el jugador), otra que se llama Control que hereda de un JFrame, es aqui donde se implementa el control por teclado y el menu, y tambien una superclase Escenario que hereda de JPanel y dentro de cada Escenario tiene un wallpaper y "agrega" objetos de la clase Tile (que contiene un sprite y un booleano que indica si es solido o no, para que Mario camine).

Bueno, el problema es lo siguiente, yo implemente en la clase Control un Timer que llama a actionPerformed cada 1 segundo, la razon de esto es para que funcione el cronometro del juego, pero el problema es que cuando llamo a repaint para que actualice, la pantalla "pestañea", y aun no encuentro la solucion, se ve realmente molesto para la vista estar jugando mientras la pantalla pestañea.

Tambien tengo otra duda ¿Como podria "correr" la pantalla cada vez que Mario avanza hacia adelante ? Por que "mas al fondo" cree unas montañas pero no se como correr la vista hacia las montañas.

Aqui una imagen del juego, aun tengo que corregir el sprite de mario


Alien-Z

#1
1- El parpadeo ocurre porque tienes demasiados frames por segundo, procura no pasar de 25 frames/segundo si no quieres que te suceda.

2- La imagen del fondo debes moverla del mismo modo que moverías al personaje activo porque depende de si éste avanza o no:

El personaje se mueve hacia la izquierda -> Las montañas se mueven hacia la derecha
El personaje se mueve hacia la derecha -> Las montañas se mueven hacia la izquierda

Para el deplazamiento de las montañas tendrás que variar únicamente la coordenada "x" de su posición.
También podrías hacer que bajaran un poco si Mario salta modificando la coordenada "y".

Un saludo.

danielo-

Es posible que tengas que usar una libreria mas poderosa para poder tener mejores resultados gráficos como el openGL

DarkSorcerer

CitarInsertar Cita
1- El parpadeo ocurre porque tienes demasiados frames por segundo, procura no pasar de 25 frames/segundo si no quieres que te suceda.

2- La imagen del fondo debes moverla del mismo modo que moverías al personaje activo porque depende de si éste avanza o no:

Un saludo.

Gracias, vere si puedo hacer mover las montañas

CitarEs posible que tengas que usar una libreria mas poderosa para poder tener mejores resultados gráficos como el openGL

Aunque es una buena idea, me tomare las cosas con calma, pero de todas maneras gracias.