SDLBasic-Anfänger Tutorial by Nils Tonagel 1# Dev

Werbung
SDLBasic-Anfänger Tutorial by Nils
Tonagel
1# Dev-Kit herunterladen und
installieren:
Als erstes müsst ihr euch das SDLBasic devkit herunterladen. Dies macht ihr
am besten
unter: "
http://www.sdlbasic.altervista.org/main/index.php?mod=04_x_Download ".
Startet das Setup ( Windows ) und wählt die benötigten Files aus. Natürlich
funktioniert
SDLBasic auch unter Linux und MacOS.
Als nächstes startet ihr die SDLBasic Anwendung aus dem Startmenü.
2# Ein kleines Beispiel:
Habt ihr dieses getan, startet ihr ein neues Dokument und schon geht es los:
setdisplay(320,240,32,1)
Diese Zeile ermöglicht es euch ein Fenster zu erzeugen, indem das weitere
Programm abläuft.
Die erste Zahl gibt die Weite des Fensters an (x) und der zweite Wert (y)
gibt die Höhe des
Fensters an. Beide Werte sind Pixelangaben.
Position drei belegt die Farbtiefe und die vierte gibt an, ob es sich um
ein festes oder
größen verstellbares Fenster handelt.
autoback(-15)
Autoback bedeutet die automatische Wiederholrate der gezeihneten Screens.
Der Wert in der
Klammer bedeutet wie oft der Bildschirm neugezeichnet werden soll. Ein
negativer Wert erzeugt
eine Verlangsamung.
loadmusic("lizard.mod")
Diese Funktion lädt eine Musik-Datei. Dank der smpeg.dll können auch
MP3-Dateien geladen werden.
Man sollte immer ein relativen Pfad benutzen ;) da man dann keine
Pfadprobleme auf anderen System
befürchten muss.
playmusic(-1)
Playmusic spielt den zuvor geladenen Track ab. Das "-1" in der Klammer sorgt
dafür, dass die Musik
in einer Endlosschleife abgespielt wird.
ink(rgb(200,200,56))
Ohhh eine Doppelfunktion. Die Ink-Funktion gibt eine Farbe im Uint32-Format
an. Kombiniert man diese
Funktion mit der RGB-Funktion, so können RBG Farbinformationen benutzt
werden. Diese aufgeführte
Funktion würde ein Total hässliches Gelb hervorbringen ;)
textrender("GP2X-Demo",32,1)
Diese nette kleine Funktion rendert ein Text-String. Die Reihenfolge in der
Klammer ist folgende:
("TextString",Größe,ID) Die ID wird benötigt um den gerenderten Text direkt
anzusprechen.
Mit textrender erstellte Strings werden als Bild angesehn und auch so
benutzt.
hotspot(1,1,1)
Hotspot ist der passende Formatierungsbefehl. Die Werte in der Klammer sind:
die ID,x-Koordinate,y-Koordinate. Die Muster x=1 und y=1 bedeuten eine
Zentrierung des Bildes mit
der angebenen ID.
for move=0 to 250 step 1
Der Anfang einer For-Schleife. Sie wird wie folgt benutzt:
For variable=Anfangswert to Endwert step Schrittanzahl. Eine For-Schleife
erhöht den wert der
Variable solange, bis der Wert der Variable gleich des Endwertes ist.
sprite (1,move-90,120,1)
Wie der Name schon sagt, platziert diese Funktion ein Bild an eine
vorgegebene Stelle.
die Werte sind wie folgt zu verwenden: ID des Bildes, X-Position, Y-Position,
Bewegendes Bild.
In diesem Beispiel wird unser Text mit der ID 1 von der Position -90 bis
zur Position 160
bewegt. Die Höhe beträgt konstant 120. Das bewegende Bild ist wieder die
ID 1.
screenswap
Diese Funktion tauscht den alten Bildschirm mit dem neu gezeichneten
Bildschirm aus.
Dadurch wird eine Bewegung angezeigt. Ohne screenswap würde der Text sofort
aufblenden und sich nicht
bewegen.
next
Next beendet den Bereich der For-Schleife und lässt Sie von neuem beginnen.
while 0=0
Die While-Schleife wird solang durchgeführt, bis die Bedingung ( im Beispiel
0=0 ) unwahr wird oder
die Schleife vorzeitig beendet wird.
screenswap
Wieder ein Screenswap, um die Dynamic am Leben zu erhalten. :)
a = inkey
Die Variable a wird mit dem Wert, den inkey zur Verfügung gestellt wird
gefüllt. Inkey enthält den
Wert, der von der Tastatur kommt.
if a=27 then
Eine Bedingung wird abgefragt. Dies geschieht in unserem Beispiel durch eine
if Bedingung. Sie besagt:
Wenn a den Wert 27 ( esc-Taste ) hat dann...
exit while
... soll die While-Schleife sofort beendet werden.
end if
Diese Funktion beendet den Bereich der If Bedingung.
end while
End While beendet den Bereich der While-Schleife.
Hier der komplette Code:
setdisplay(320,240,32,1)
autoback(-15)
loadmusic("lizard.mod")
playmusic(-1)
ink(rgb(200,200,56))
textrender("GP2X-Demo",32,1)
hotspot(1,1,1)
for move=0 to 250 step 1
sprite (1,move-90,120,1)
screenswap
next
while 0=0
screenswap
a = inkey
if a=27 then
exit while
end if
end while
Dies ist das erste SDLBasic Tutorial von mir. Es folgen aber bald weitere.
Ich wünsche euch Viel Spaß und gutes gelingen mit SDLBasic ;)
MFG
Nils Tonagel
Herunterladen
Explore flashcards