Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Necesito ayuda con animación de imágenes 2D para vs2005

Iniciado por r3liant, 17 de Diciembre de 2007, 03:26:51 PM

« anterior - próximo »

r3liant

Hola a todos!
Soy un estudiante de DAI2 y me había propuesto como proyecto final de clase hacer un juego de lucha sencillo a base de sprites
La herramienta que usamos es el Visual Studio 2005

El problema es que para tratar imágenes solo conozco los picturebox del visual  y los métodos de Graphics.
Los primeros no me sirven porque se superponen.
Y el segundo parece funcionar pero al hacer una puequeña animación los sprites anteriores no se borran. Si utilizo el metodo Me.Refresh() para restarurar el fondo y volver a pintar encima la aplicación pega unos pantallazos terribles....
¿Alguien sabe como evitar los pantallazos? o directamente ¿Alguna otra forma de usar imágenes 2D que me sirva? (tiene que ser obligatoriamente con visual studio)
A por cierto ya probé a bajar tanto el tamaño como la calidad/peso de las imágenes que utilizo y no dio resultado  :(

cyberon

Si no puedes utilizar librerias como directX o allegro o SDL y tiene que ser con controles de Visual Studio, creo que lo mejor que tienes que hacer es hacer la tecnica de los "dirty rectangles", que consiste en calcular los rectangulos donde has puesto los sprites en la última imagen y regenerar la parte del fondo sobre la que los habías pegado. En caso de que el fondo sea de un color plano solamente vas a tener que rellenar la region de ese color para eliminarlo.

Por ejemplo. Si dibujas un sprite en x=200 e y=200 y tiene el tamaño 100x100, solamente tienes que, en el siguiente frame del programa, dibujar un rectángulo de 100x100 que se situe en las coordenadas 200, 200 en caso de que el fondo sea plano. Si por el contrario tienes una imagen de fondo deberás calcular el desplazamiento de la misma con respecto a la pantalla y recortar el fragmento de imagen  que se corresponde con las coordenadas 200,200 de pantalla y tiene 100x100.

Ni que decir tiene que teneis que guardar en una lista los cuadros que teneis que redibujar para la siguiente imagen. Aunque no estoy seguro, pero creo recordar que en esos controles puedes añadir dirty rectangles a través de un método y el te lo gestiona, pero no me hagas mucho caso.

r3liant

Lo del rectángulo no me sirve porque los fondos no son planos y la imagen esta adaptada al form por lo que es casi imposible cojer exactamente el rectangulo que encaje ahi
Las librerias las tengo que investigar a fondo a ver ^^

Loover

¿Por qué no usas Looverlib? Viendo los ejemplos no creo que tengas ningún problema. http://www.pixelartgames.com/looverlib.html

O bien puedes usar también las dx_lib32 o la CRM32Pro. Las puedes ver en "proyectos", en el foro.
IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
Indie Rover The monkeys are reading!

r3liant

si ya había visto tu librería pero me pareció demasiado compleja. Es que tengo hasta finales de febrero y el C++ aunque me defiendo tendría que meterle un buen repaso.
Vamos que igual es poco tiempo
De todas formas voy a intentarlo. Me meteré a estudiar a fondo la libreria y a ver que pasa ^^
Es que como podeis ver todavía son un novatillo jejeje
Bueno ya te comentaré que tal me fue

[EX3]

Si no te pica programar en Visual Basic .NET la dx_lib32 te podria servir ya que es compatible con este lenguaje (no con C# por desgracia :?). dx_lib32 puede resultar muy sencilla de usar y no es dificil adaptar el codigo de los ejemplos a VB.NET.

Te diria que mirases XNA pero si el proyecto es para un modulo de FP dudo mucho que las maquinas antidiluvianas que se suelen usar en DAI puedan soportar este framework.

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

tewe76

OT:
EX3, se dice "antediluvianas", no "antidiluvianas", porque no es "contra el diluvio", sino "anterior al diluvio" :roll:
Tewe
www.TAPAZAPA.com : Funny and easy to play games for all ages! - Fairy Match - Brain Crash
www.LaRebelionDelBiberon.com : Experiencias de unos padres primerizos

[EX3]

Cita de: "tewe76"OT:
EX3, se dice "antediluvianas", no "antidiluvianas", porque no es "contra el diluvio", sino "anterior al diluvio" :roll:
A buen entendedor... cientos volando... o algo asi, no? A la 1 de la mañana de un miercoles no se ni escribir correctamente un 'Print "Hello world!" ' :lol:

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

zxs

Cita de: "tewe76"OT:
EX3, se dice "antediluvianas", no "antidiluvianas", porque no es "contra el diluvio", sino "anterior al diluvio" :roll:

además serían unas máquinas de la leche, viendo la de versiones que se han hecho del diluvio por cada una de las religiones, mitos, de aquellas épocas ... quizas la historia del diluvio fue uno de los primeros multiplataformas  :P  :D






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.