Waarom Game Maker 7 Pro AVI niet rechtstreeks kan afspelen:
* Beperkte multimedia-ondersteuning: Game Maker 7 Pro werd uitgebracht in 2007, voordat moderne videocodecs op grote schaal werden toegepast. Het is voornamelijk afhankelijk van oudere multimediabibliotheken die AVI niet standaard ondersteunen.
* Geen ingebouwde AVI-decoder: De engine mist een ingebouwde decoder voor AVI-bestanden.
Alternatieven:
1. Converteren naar ondersteunde formaten:
* GIF: Game Maker 7 Pro kan GIF's weergeven. U kunt uw AVI naar een GIF converteren met behulp van online tools of software zoals GIMP. GIF's hebben echter beperkingen wat betreft lengte en kwaliteit.
* Andere afbeeldingsformaten: Probeer uw AVI te converteren naar een reeks PNG-, JPG- of BMP-afbeeldingen. Je kunt deze afbeeldingen vervolgens in volgorde in je spel laden en weergeven met behulp van de sprite-verwerkingsfuncties van Game Maker.
* FLV/SWF: Als u bekend bent met Flash, kunt u de video exporteren als FLV of SWF en Flash-integratie gebruiken in Game Maker (indien beschikbaar in uw versie). Dit is een meer geavanceerde aanpak.
2. Externe bibliotheken (geavanceerd):
* DirectShow: Als u vertrouwd bent met C++ en DLL's, kunt u proberen een DirectShow-bibliotheek (voor Windows) te integreren om het afspelen van AVI af te handelen. Dit is een complexe aanpak, maar biedt meer flexibiliteit.
3. Moderne Game Maker-alternatieven (aanbevolen):
* Game Maker Studio 2: Deze nieuwere versie heeft veel betere multimedia-ondersteuning, inclusief ingebouwde video-afspeelmogelijkheden voor verschillende formaten (inclusief AVI, afhankelijk van de gebruikte codec). Het is de moeite waard om een upgrade te overwegen als u aan nieuwe projecten werkt.
Hier is een vereenvoudigde aanpak voor het op volgorde weergeven van afbeeldingen:
```gml
// Laad de eerste afbeelding van uw AVI-reeks (ervan uitgaande dat deze de naam
//frame001.png, frame002.png, enz.)
var afbeelding =sprite_add("frame001.png", 0, 0);
// Bewaar de afbeeldingsindex
var afbeeldingIndex =1;
// In je gameloop of updatefunctie:
if (imageIndex <=totaalFrames) {
// Laad de volgende afbeelding
sprite_set_image(image, sprite_add("frame" + string(imageIndex) + ".png", 0, 0));
afbeeldingIndex++;
} anders {
// Stop het afspelen of loop
}
```
Onthoud: In dit voorbeeld wordt ervan uitgegaan dat u uw AVI naar afzonderlijke afbeeldingen hebt geconverteerd. De specifieke code moet mogelijk worden aangepast op basis van de naamgeving van de afbeeldingsreeks en de spellogica.