APPLICATIONSDIVERS ★ The Animator ★

The Animator (CPC Amstrad International)Applications Divers
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

Bewegungen perfekt simuliert

Dieses Programm ermöglicht Ihnen, Bildfolgen komprimiert abzuspeichern und wieder darzustellen. Es eignet sich insbesondere zur Erstellung von Grafikdemos und animierten Programm vorspännen. Es kann aber z.B. auch verwendet werden, um in einem selbstgeschriebenen Basic-Adventure animierte Grafiken auf den Bildschirm zu bringen.


"The Animator" besteht aus zwei Teilen. Teil 1 dient zum Erstellen, Teil 2 zum Abspielen von Animationsdateien. Beide Teile sind als RSX-Erweite-rung ausgelegt und liegen als Datalader vor. Startet man diesen, so wird, falls kein Prüfsummenfehler aufgetreten ist, die Datei "CREATOR. BIN" bzw. "ANIMATOR.BIN" auf Diskette abgespeichert.

Der Creator

Die Datei "CREATOR.BIN" wird folgendermaßen geladen:

SYMBOL AFTER 256 : MEMORY &4FFF : LOAD"CREATOR.BIN",&A000 : CALL &A000

Diese Befehlsfolge sollten Sie an den Anfang des Programms stellen, das die Animationsdatei erstellen soll. Der Creator dient zum Erstellen von Animationen mit maximal 64 Einzelbildern. Er stellt folgende Befehle zur Verfügung:

1.|NEWANIM ,@nanie$ ,x,y,br,ho,typ :Dieser Befehl öffnet eine neue Animationsdatei. "name$" legt hierbei den Dateinamen fest. Mit "x,y,br" und "ho" wird der Bereich des Bildschirms festgelegt, dessen Inhalt abgespeichert wird. Damit kann man die Animation auf einen kleinen Bereich des Bildschirms beschränken und spart so Specherplatz. x und y legen die linke obere Ecke dieses Bereichs fest. Für x können Werte von 0 bis 79, für y Werte von 0 bis 199 eingesetzt werden, wobei y=0 die oberste Bildschirmzeile ist. Beim Setzen der Breite und Höhe des Bereichs (brund ho) muß beachtet werden, daß x=br nicht größer als 80 und y+ho nicht größer als 200 werden darf. Der Parameter-Typ schließlich legt den Animationstyp fest. Es sind folgende Optionen vorhanden:

  • tvp = 1:Setzt man "typ" auf 1. so wird beim ersten Bild der Animation der Bildschirminhalt in einer gesonderten Datei abgespeichert. Dabei ist zu beachten. daß die beim NEWANIM-Be-fehl gewählten Bildschirmgrenzen nicht beachtet werden und immer der gesamte Bildschirminhalt abgespeichert wird. Der Dateiname dieser Datei hat ein "S" als letzten Buchstaben. Heißt die Animationsdatei also "DEMO.ANI", so trägt die Bilddatei den Namen "DEMO.ANS". Dieser Animationstyp sollte dann gewählt werden, wenn zuwenig Speicherplatz für eine Animation vorhanden ist oder wenn man eine Animation mit einem aufwendigen Hintergrund, der sich über den ganzen Bildschirm erstreckt, erzeugen will. Im RAM stehen beim Abspielen der Animation nur noch die Unterschiede von Bild zu Bild, der Hintergrund wird am Anfang in den Bildschirmspeicher geladen, nimmt aber keinen zusätzlichen Speicherplatz weg.
  • typ = 2 :Wählt man diese Option, so läuft die Animation nach dem Erreichen des letzten Bildes wieder rückwärts bis zum Anfangsbild.
  • typ = 4:Diese Option dient zur ständigen Wiederholung der Animation. Das heißt, das Programm fängt bei Erreichen des letzten Bildes (oder, wenn Option 2 gewählt ist. bei Erreichen des ersten Bildes) wieder mit dem ersten Bild an. Wenn Option 2 (vorwärts/rückwärts) nicht gewählt ist und man Endlos-Animationen erzeugen will, muß man nach dem letzten Bild noch einmal das erste Bild mit NEXT-PIC abspeichern, da dann die Unterschiede zwischen dem letzten und ersten Bild berechnet werden.

Alle Optionen können auch miteinander kombiniert werden. Will man z.B. eine Endlosanimation erzeugen, bei der das erste Bild als Screen abgespeichert wird, so muß man als Animationstyp 5 ( = 1 +4) wählen.

2. |NEXTPIC :Dieser Befehl schreibt die Unterschiede zwischen der neuen (auf dem Bildschirm befindlichen) Animationsphase und dem alten Bild in die Animationsdatei. Beim ersten NEXTPIC-Aufruf nach dem Öffnen einer neuen Animationsdatei wird entweder das Bild als Screen abgespeichert (Option 1) oder ebenfalls komprimiert in die Animationsdatei geschrieben.

3. |ENDANIM :Die Animationsdatei wird geschlossen. Dieser Befehl muß nach dem Abspeichern des letzten Bildes ausgeführt werden.

4. |BORDER :Dieser Befehl zeigt den mit NEWA-NIM gewählten Bildschirmbereich durch einen Rahmen an. Alles, was sich innerhalb dieses Rahmens befindet. wird bei einem NEXTPIC-Aufruf abgespeichert.

5. |MEMORY,@m% :Dieser Befehl gibt in der angegebenen Variablen den Speicherplatz an, den die Animation bis jetzt benötigt, wenn sie später ins RAM geladen wird (auf der Diskette ist die Animationsdatei um 1/7 größer). Die angegebene Variable muß zuvor schon einmal verwendet worden sein. Bsp.: m%=0:|MEMORY,@m% (m% enthält nun den Speicherplatzbedarf)

6. |LOADSCREEN,@name$ :Dieser Befehl dient zum Laden einer Bilddatei unter dem Namen name$ in den Bildschirmspeicher, ohne daß hierfür ein Kassettenpuffer benötigt wird. Man kann z.B. mit einem Malprogramm den Hintergrund zeichnen/diesen bei jedem neuen Bild laden und danach die Animation zeichnen. Oder man zeichnet die Animationsphasen mit dem Malprogramm, speichert jede Phase einzeln ab und erzeugt daraus mit LOADSCREEN und NEXTPIC eine Animationsdatei.

Der Animator

Dieses Programm dient zum Abspielen der mit dem Creator erstellten Animationsdateien. Geladen wird er folgendermaßen:

  • SYMBOL AFTER 256:MEMORY &9EFF:LOAD"ANIMATOR.BIN",&9F00: CALL &9F00: MEMORY adr-1

Die Variable adr gibt hierbei die erste Speicheradresse an, die für die Animationsdaten verwendet werden darf. Wird z.B. für adr ein Wert von &3000 gewählt, so kann der Bereich von &3000-&9EFF für Animationsdaten verwendet werden. Das entspricht einer 28416 Byte langen Animation. Um Animationen zu laden und abzuspielen, stellt das Programm folgende Befehle zur Verfügung:

1. |LOADAMM,@name$,adr,lmod : Dieser Befehl lädt eine Animation mit dem Namen name$ in den Arbeitsspeicher. Die Variable adr gibt hierbei die Speicheradresse an, an die die Animation geladen werden soll (siehe oben). Es kann immer nur eine einzige Animation im Speicher stehen, bereits vorhandene Animationen werden beim Laden einer neuen gelöscht. Der Parameter lmod hat eine besondere Bedeutung. Wird er auf 1 gesetzt, so wird der Bildschirm beim Laden gelöscht und als Kassettenpuffer mißbraucht. Will man den Bildschirminhalt erhalten, so muß man diesen Parameter auf 0 setzen. Der Kassettenpuffer wird dann im Datenspeicher angelegt, was aber zur Folge hat, daß 2048 Bytes weniger für die Animation zur Verfügung stehen.

2. |CYCLE,ge,sfarb,afarb,@col%(0) : Mit diesem Befehl kann man während der Animation in definierten Farbbereichen die Farben "durch-rotieren", das heißt, Pen 1 erhält die Farbe von Pen 2, Pen 2 die Farbe von Pen 3 usw. Der Parameter "ge" gibt dabei an, nach wie vielen Animationsphasen man die Farben wechseln kann. Es können nur Werte von 1 bis 255 angegeben werden, ein Wert von 1 bedeutet, daß nach jedem neuen Bild die Farben wechseln, "sfarb" legt fest, bei welcher Farbe (0-15) der Bereich beginnt, in dem gewechselt wird, "afarb" legt die Größe dieses Bereichs fest, das heißt, wie viele Farben "durchrotieren". In dem Ganzzahlfeld "col%" werden die Farben. die man für den Farbwechsel verwendet, festgelegt, es kann also Werte von 0 bis 26 enthalten. Das Feld muß genauso viele Elemente enthalten, wie in "afarb" festgelegt. ACHTUNG: Der CYCLE-Befehl muß nach LOA-DANIM ausgeführt werden, da das Laden einer Animation alte Farbwechsel-Kommandos löscht.

3. |SHOWANIM,ge,mod : Dieser Befehl dient zum Abspielen einer Animation. Dabei ist zu beachten, daß der Bereich des Bildschirms, auf dem die Animation dargestellt wird (siehe NEWANIM), nicht vorher gelöscht und auch der Bildschirmmodus nicht festgelegt wird. Man muß dies also vor" dem SHOWANIM-Aufruf selbst erledigen. Der Parameter ge dient zum Einstellen der Abspielgeschwindigkeit und gibt die Verzögerung pro Bild in 1/300 Sekunden an. Die Variable "mod" legt den Abspielmodus fest, es sind folgende Werte möglich: 0: keine Unterbrechung der Animation möglich.

  1. 1. Die Animation kann durch SPACE abgebrochen werden.
  2. Zusätzlich kann die Geschwindigkeit mit den Cursor-Tasten (links und rechts) verändert werden. Außerdem kann man die Animation mit "S" anhalten und mit erneutem Druck auf"S" wieder weiterlaufen lassen. 3. Es erscheint zusätzlich ein kleines Bildschirmfenster in der linken oberen Ecke. Dort wird die aktuelle Bildnummer ("P:") und die Abspielgeschwindigkeit ("S:") angezeigt. Wenn man Tastaturabfragen erlaubt (Werte größer 0), so hat dies leider zur Folge, daß die Animation langsamer abläuft. Sollte man also auf der Suche nach der optimalen Abspielgeschwindigkeit Modus 3 wählen, so muß man beachten, daß die angezeigte Geschwindigkeit in Modus 0 eine schnellere Bildfolge bewirkt.

Fehlermeldungen

Bei der Arbeit mit dem Creator und Animator können folgende Fehlermeldungen auftreten:

  • Wrong number of parameters: Es wurden entweder zu viele oder zu wenige Parameter übergeben.
  • Out of range: Es wurde bei einem Parameter ein ungültiger Wert übergeben.
  • No animation file opened: Ein NEXTPIC- oder ENDANIM-Befehl wurde ausgeführt, ohne daß mit NEWANIM eine Animationsdatei geöffnet wurde.
  • Error while writing: Beim Schreiben in die Animationsdatei trat ein Fehler auf (Diskette voll oder ähnliches).
  • File not found: Die angegebene Datei ist nicht vorhanden.
  • Failed to load screen: Entweder wurde mit LOADSCREEN versucht, eine nicht vorhandene Datei zu laden, oder der SHOWANIM-Befehl konnte den zu einer Animationsdatei gehörigen Screen nicht finden.
  • No animation loaded: Es wurde ein SHOWANIM-Befehl ausgeführt, ohne daß zuvor eine Animationsdatei erfolgreich geladen wurde.
  • File too long: Die Animation, die mit LOADANIM geladen werden sollte, paßt nicht in den angegebenen Speicherbereich und würde den Animator überschreiben.
  • Hinweis: Als letztes Listing finden Sie eine Demo (Listing 3). Diese besteht aus dem Ladeprogramm und dem Haupt-programm.

CPCAI

★ PUBLISHERS: CPC Amstrad International , ANdromeda-Soft
★ YEAR: 1985
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ LiCENCE: LISTING
★ COLLECTION: CPC AMSTRAD INTERNATIONAL 1989
★ AUTHOR: Oliver HEGGELBACHER
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» RSX-The  Animator    (CPC  Amstrad  International)    ENGLISHDATE: 2020-04-22
DL: 203
TYPE: ZIP
SiZE: 40Ko
NOTE: Uploaded by Devilmarkus ; 40 Cyls
.HFE: Χ

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » RITA : Resident Inline Turbo-Assembler (Happy Computer)
» Applications » Compilation: RSX
» Applications » RSX Exform: Extended Diskformat (CPC Magazin)
» Applications » RSX Printtrans (CPC Amstrad International)
» Applications » RSX Pointer (CPC Magazin)
» Applications » RSX Sintetizador de Voz
Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 857 millisecondes et consultée 1659 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.