ActionCapture-Feature DE
From BlinkenSisters
Die Animationen, die auf der Seite Geschichte zu finden sind, wurden mit dem eingebautem ActionCapture-Feature aufgenommen. Dieses Feature ist eher für Bastler geeignet ;)
- ...wie benutzt man denn das integrated "ActionCapture" feature?!
Also, ActionCapture macht zyklische Screenshots in einem begrenzten Bereich zentriert um die Spielfigur rum rein ins RAM. 1GB RAM ist also mal Minimum.
Benutzung (nicht getestet weil schon etwas länger nicht verwendet): Theoretisch gehts so:
in der globals.h findest du folgendes:
//#define ALLOW_ACTIONCAPTURE
daraus machst du
#define ALLOW_ACTIONCAPTURE
Dann gibts da ein paar Parameter, die du je nach Bedarf einstellen kannst:
// Anzahl Bilder #define ACTIONCAPTURE_MAX 200 // Abstand zwischen den Bildern in Millisekunden (1000 = 1s) #define ACTIONCAPTURE_DELAY 100 // Höhe und Breite #define ACTIONCAPTURE_HEIGHT 192 #define ACTIONCAPTURE_WIDTH 256
Alles neu kompilieren und Capture mit im Spiel mit der Taste "y" starten ("x" bricht vorzeitig ab). Dateien werden dann in .lostpixels als "ACTIONCAPTURE_(nummer).bmp" gespeichert.
Im SVN gibts im SCRIPTS-Verzeichnis ein Perl-Script "capture2gif.pl", mit dem man - zumindest unter Linux mit installiertem ImageMagick - aus diesen BMP's ein animiertes GIF bauen kann. Dazu muss u.U. allerdings das Script angepasst werden.
- ...ich möchte das von mir gespielte Level aber auch im Demo-Modus von BlinkenSisters anzeigen!
Da verwendest du am besten POSITIONCAPTURE, also in der globals.h die Zeile
//#define ALLOW_POSITIONCAPTURE
zu
#define ALLOW_POSITIONCAPTURE
machen und alles neu kompilieren.
Da werden dann automatisch die ersten 17 Sekunden jedes Levels in ein File "poscap_level_(num).bin" aufgezeichnet. Genauer gesagt, zeichnet die Engine die Position und Bewegungsrichtung der Spielfigur für den Demo-Mode auf. Kann ich dann über den Demo-Mode abspielen auf auch bei Bedarf für ActionCapture verwenden.
Sofern für dieses Level nicht bereits vorher ein Demo vorhanden war, musst du allerdings im Source in der Datei "menu.cpp" die Funktion "menuAttrackMode()" anpassen.
