| |||
Damit ein Spiel ein richtiger Erfolg wird reicht es nicht haufenweise tolle Grafiken auf den Bildschirm zu packen, auch wenn das sicher ein guter Anfang ist. Sound und Musik sind die Komponenten, die einem Spiel die richtige Atmosphäre geben. In Blitz Basic ist es denkbar einfach Sound und Musik einzubinden, daher sollte man nicht auf solche ein Feature verzichten! Ich werde zuerst mit dem Spielen eines Musikstückes beginnen. Ähnlich wie bei einem Image wird auch bei Musik eine Datei geladen und ein Wert an eine Variable gegeben: Global Lied Lied = PlayMusic ("Test.mid") while not KeyDown(1): wend So einfach ist es. Das Stück wird gespielt bis es beendet ist. Dabei wird die Variable Lied benutzt um den Kanal zu speichern auf dem das Musikstück gespielt wird. Dieser Kanal kann auch benutzt werden um Veränderungen an dem Musikstück vorzunehmen, er funktioniert ähnlich wie ein Handle. StopChannel Lied hält unser Stück an. PauseChannel Lied würde unser Lied pausieren. ResumeChannel Lied spielt das Lied weiter nachdem es mit PauseChannel angehalten wurde. Als Alternative zu PlayMusic gibt es auch den Befehl PlayCDTrack mit dem man eine CD spielen kann. Genaueres hierzu findet sich in der Befehlsübersicht, ebenso wie eine Liste mit den unterstützten Dateitypen (praktisch alles, von MID bis MP3!). Als nächstes kommen wir zu Soundeffekten, und dann ist das Thema Musik und Sound auch schon abgehakt. Ich gebe zu ein recht kurzes Tutorium, aber was soll man auch noch mehr machen als Musik und Soundeffekte abspielen? Global Sound Sound = LoadSound ("Wumme.wav") PlaySound Sound while not KeyDown(1): wend Soundeffekte werden zuerst geladen, genau wie eine Grafik. Mit PlaySound kann man den Soundeffekt dann spielen. Doch das ist noch nicht alles: Um Soundeffekte richtig in Szene zu setzen gibt es noch zwei Tricks mit denen man das spielen von Soundeffekten noch interessanter gestallten kann! Die eine Möglichkeit ist das pitchen. Damit verändert man leicht die Hertz-Zahl mit der der Sound abgespielt wird. Das sorgt dafür, das der Sound nicht allzu langweilig klingt, wenn er öfters vorkommt: a = rnd(-2000,2000) SoundPitch Sound, 44100 + a PlaySound Sound SoundPitch Sound, 44100 - a Mit der Funktion rnd errechne ich eine zufällige Zahl (genaueres hierzu in der Befehlsübersicht). Zuerst pitche ich dann den Sound etwas nach oben oder unten, dann spiele ich ihn und setzte ihn am Ende wieder auf den Ursprungswert. So einfach ist das! Die zweite Möglichkeit ist der 3D Sound, indem man einen Sound stärker aus der linken Box spielen wenn er von links kommt, und stärker aus der rechten wenn er von rechts kommt: SoundX = (PosX – 320) / 320 SoundPan Sound, SoundX PlaySound Sound Dieses Programm bedarf vielleicht einer kurzen Erklärung: PosX ist dabei eine Variable die die X-Position auf dem Bildschirm von dem Objekt enthält, das den Sound auslöst. PosX ist dabei also genau die Stelle von der der Sound kommt. Wenn ich von diesem Wert die Hälfte der Bildschirmbreite abziehe und das Ergebnis durch die Hälfte der Bildschirmbreite dividiere, so erhalte Werte zwischen –1 und +1, die für die Position des Objektes stehen. –1 bedeutet, dass der Sound ganz aus der linken Box kommt, +1 dass er ganz aus der rechten kommt (als Parameter für SoundPan). Ich übergebe also prozentual die Position des Objektes daran wie stark der Sound aus den beiden Boxen kommen soll. So gibt es einen 3D Soundeffekt. Wichtig! Wenn man SoundPan bei einem Sound benutzt, dann muss man das vor jedem abspielen tun oder aber den Sound wieder in die Mitte kalibrieren: SoundPan Sound, 0 Ansonsten behält der Soundeffekt seine Position vom letztem mal bei! Nocheinmal: Sowohl SoundPitch als auch SoundPan verändern die Attribute des Soundeffekts. Diese Veränderungen bleiben so lange bestehen bis sie mit dem gleichen Befehl wieder aufgehoben werden. Beides sind Dinge die nicht elementar sind, die man aber in ein gutes Spiel einbauen kann um es noch ein wenig besser zu machen. Weiter mit Teil 5... Quelle: www.BlitzBasic.de |