RicScript
RicScript ist eine Text-basierende Methode um RIC Dateien zu erzeugen und wurde von John C. Hansen entwickelt.
Auch mit RicScript kann man jede gewünschte RIC Datei erzeugen, die auch mit nxtRICeditV2 zu erstellen ist - jedoch mit dem großen Unterschied, dass man dafür einen Text basierenden Editor verwenden muss. Der Syntax von RicScript ist nicht sehr komplex und wird wie folgt beschrieben:
Element | Definition | |||||||||
Description |
desc( options, width, height );
In der aktuellen Version der Firmware wird der Parameter options nicht unterstützt und sollte daher auf 0 gesetzt werden. Die anderen beiden Paramter werden nur für die graphische Entwicklungsumgebung von NXT-G verwendet und erzeugen keine Ausgabe auf der NXT Bildschirm.
Beispiel:
|
|||||||||
Sprite |
sprite( id, bitfields ); sprite( id, hexfields ); sprite( id, import( filename ) ); sprite( id, import( filename, brightness-threshold ) ); sprite( id, import( filename, brightness-threshold, destination_width, destination_height ) );
Hier kann ein Sprite definiert werden, welches eine monochrome Bitmap speichert. Dabei kann diese Bitmap direkt angegeben werden (binär oder über hexadezimal) oder es kann über die import Option eine bestehende Grafikdatei importiert werden.
Beispiel 1:
Beispiel 2:
Beispiel 3:
|
|||||||||
VarMap |
varmap( id, interpolation-point-definitions );
Über dieses Element kann eine Umrechnungsfunktion definiert werden, die die angegebenen Stützpunkt für die lineare Interpolation verwendet. Der Domainwert kann dabei im Bereich von 0 bis 255 angegeben werden. Der Stützwert selbst liegt im Bereich von 00 bis 65535. Es müssen immer mindestens 2 Stützwerte definiert werden - maximal sind bis zu 256 Stützpunkte möglich.
Beispiel:
|
|||||||||
CopyBits |
copybits( copyopt, spriteid, source_x, source_y, width, height, dest_x, dest_y );
Dieses Element kopiert einen rechteckigen Bereich einer Sprite Bitmap auf den Bildschirm. Der Parameter copyopt wird von der aktuellen Firmware nicht unterstützt und sollte auf 0 gesetzt werden.
Beispiel:
|
|||||||||
Pixel |
pixel( copyopt, pos_x, pos_y ); pixel( copyopt, pos_x, pos_y, value );
Pixel zeichnet einen einzelnen Punkt auf das Display. Der optionale Parameter value wird von der aktuellen Firmware nicht unterstützt und kann weggelassen werden. Auch der Parameter copyopt wird von der aktuellen Firmware nicht unterstützt und sollte auf 0 gesetzt werden.
Beispiel:
|
|||||||||
Line |
line( copyopt, start_x, start_y, end_x, end_y );
Zeichnet eine Linie vom Startpunkt (start_x/start_y) bis zum Endpunkt (end_x/end_y). Der Parameter copyopt wird von der aktuellen Firmware nicht unterstützt und sollte auf 0 gesetzt werden.
Beispiel:
|
|||||||||
Rectangle |
rect( copyopt, edge1_x, edge1_y, edge2_x, edge2_y );
Zeichnet ein Rechteck, welches durch die beiden gegenüberliegenden Punkten (edge1_x/edge1_y) und (edge2_x/edge2_y) definiert ist. Der Parameter copyopt wird von der aktuellen Firmware nicht unterstützt und sollte auf 0 gesetzt werden.
Beispiel:
|
|||||||||
Circle |
circle( copyopt, center_x, center_y, radius );
Diese Anweisung zeichnet einen Kreis auf den NXT Bildschirm. Dabei wird neben dem Kreismittelpunkt auch der Kreisradius angegeben. Der Parameter copyopt wird von der aktuellen Firmware nicht unterstützt und sollte auf 0 gesetzt werden.
Beispiel:
|
|||||||||
NumBox |
numbox( copyopt, pos_x, pos_y, value );
Stellt den angegebenen Wert value als Zahl auf dem NXT Bildschirm an der angegebenen Stelle (pos_x/pos_y) dar. pos_y wird auf ein Mehrfaches von 8 abgerundet, so dass die Ausgabe auf einer der 8 Textzeilen erfolgt. Der Parameter copyopt wird von der aktuellen Firmware nicht unterstützt und sollte auf 0 gesetzt werden.
Example:
|
Example for a RicScript file which shows following output:
Ausgabe auf dem NXT Bildschirm: |
|
|
RicScript: |
desc( 0, 51, 51 ); |