Por qué Game Maker 7 Pro no puede reproducir AVI directamente:
* Soporte multimedia limitado: Game Maker 7 Pro se lanzó en 2007, antes de la adopción generalizada de los códecs de vídeo modernos. Se basa principalmente en bibliotecas multimedia más antiguas que no son compatibles con AVI de forma nativa.
* Sin decodificador AVI incorporado: El motor carece de un decodificador integrado para archivos AVI.
Alternativas:
1. Convertir a formatos admitidos:
* GIF: Game Maker 7 Pro puede mostrar GIF. Puede convertir su AVI a GIF utilizando herramientas o software en línea como GIMP. Sin embargo, los GIF tienen limitaciones en términos de longitud y calidad.
* Otros formatos de imagen: Intente convertir su AVI a una secuencia de imágenes PNG, JPG o BMP. Luego puedes cargar y mostrar estas imágenes en secuencia dentro de tu juego usando las funciones de manejo de sprites de Game Maker.
* FLV/SWF: Si estás familiarizado con Flash, puedes exportar el video como FLV o SWF y usar la integración de Flash en Game Maker (si está disponible en tu versión). Este es un enfoque más avanzado.
2. Bibliotecas externas (avanzadas):
* DirectShow: Si se siente cómodo con C++ y DLL, puede intentar integrar una biblioteca DirectShow (para Windows) para manejar la reproducción AVI. Este es un enfoque complejo, pero ofrece mayor flexibilidad.
3. Alternativas modernas de Game Maker (recomendadas):
* Juego Maker Studio 2: Esta versión más nueva tiene un soporte multimedia mucho mejor, incluidas capacidades integradas de reproducción de video para varios formatos (incluido AVI, según el códec utilizado). Vale la pena considerar la actualización si está trabajando en nuevos proyectos.
A continuación se muestra un método simplificado para mostrar imágenes en secuencia:
```gml
// Carga la primera imagen de tu secuencia AVI (suponiendo que se llamen
// marco001.png, marco002.png, etc.)
var imagen =sprite_add("frame001.png", 0, 0);
// Almacena el índice de la imagen
var índice de imagen =1;
// En tu bucle de juego o función de actualización:
if (índice de imagen <=marcos totales) {
// Carga la siguiente imagen
sprite_set_image(imagen, sprite_add("marco" + cadena(imageIndex) + ".png", 0, 0));
índice de imagen++;
} demás {
// Detener la reproducción o el bucle
}
```
Recuerda: Este ejemplo supone que has convertido tu AVI en imágenes individuales. Es posible que el código específico necesite ajustes según el nombre de la secuencia de imágenes y la lógica del juego.