[B2D] Raumschiff-Steuerung
Übersicht

![]() |
SpikespineBetreff: [B2D] Raumschiff-Steuerung |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
wegen eines Threads im Beginner-Forum habe ich mal eine Raumschiffsteuerung wie in "Asteroids" programmiert. Natürlich nichts besonderes, aber ich habe keinen vergleichbaren Code hier gefunden... Die Funktionsweise des Codes wird für Newbies weiter unten erklärt. BlitzBasic: [AUSKLAPPEN] Graphics 800,600,32,2 Zur Erklärung: Die Steuerung ist vergleichbar mit einer Top-Down Autosteuerung. Jedoch ist sie nicht identisch: -Im Weltall gibt es weder Luftwiderstand, noch Reibung, die ein Auto abbremsen. Das Raumschiff bremst also nichtvon alleine ab. -Weil das Schiff kein Fahrzeug ist, das auf der Straße fährt, ändert sich die Bewegungsrichtung nicht, wenn man es lenkt. Erst, wenn man Beschleunigt, passt sich die Bewegungsrichtung der Richtung des Raumschiffs an. Ich benötige als Eigenschaften des Fliegers also Position (x#,y#), Richtung in die das Raumschiff zeigt ("Objektwinkel"), und die Bewegungsrichtung. Dabei komme ich um zwei Variablen wohl nicht herum: Die horizontale (xspeed#) und die vertikale (yspeed#) geschwindigkeit. Diese Variablen "wissen", wie schnell sich das Raumschiff auf der X-Achse und der Y-Achse tatsächlich bewegt. Den Objektwinkel verändert man ganz einfach mit den Links-Rechts-Pfeiltasten. Wenn beschleunigt wird, vergrößert sich die Xspeed und die Yspeed um den sinus bzw. den Kosinus des Objektwinkels. So passt sich die Bewegungsrichtung der Objektrichtung an. hmm ![]() ![]() grüße, Spike |
||
Athlon 64 3700+ | 1024 MB RAM | GeForce 7900 GT | Blitz2D, Blitz3D, BlitzPlus, BlitzMax |
- Zuletzt bearbeitet von Spikespine am Di, Jun 14, 2005 16:15, insgesamt einmal bearbeitet
E. Urbachehemals "Basicprogger" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Schön, dass es noch Leute gibt, die fehlende Sachen ergänzen und den Neueinsteigern auch erklären. ![]() Der Code ist ganz OK. Sieht man nicht alle Tage! |
||
The box said, "Requires Windows XP or better", so I installed Ubuntu | Linux is NOT Windows
Flua :: Profiler für BB und BMax :: Partikel-Engine für BMax :: Lyphia-Projekt Quellcode (BMax) :: Automatische Parallelisierung :: Meine Musik |
Leonb |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
cool!
ich habe noch beim Zeichnen des Fliegers etwas geändert: BlitzBasic: [AUSKLAPPEN]
so kann man ein Bild für den Flieger nehmen ![]() kannst du vllt. noch zu dem Beispiel rote Striche als Laserstrahlen dazu coden? |
||
meine HP:
http://www.scz.de.ms |
![]() |
Spikespine |
![]() Antworten mit Zitat ![]() |
---|---|---|
OK.
Bitte kopiere nicht einfach nur den Code und nehme ihn für dein Spiel. Das hat keinen Sinn, du lernst nichts. Wichtig ist, dass du einen Code nur als "Anregung" und Beispiel verwendest, und dass du alles, was du daraus für dein Spiel verwendest, selber verstehst. Ansonsten wirst du dein Spiel 100% nicht fertigstellen! Ich hab schnell mal eine Version mit Schüssen gemacht. Falls du dich nicht mit Types auskennst, solltest du dieses Tutorial lesen: http://www.blitzbase.de/tutorials/shadow_1.htm Wenn du die Tyes verstanden hast, ist das hier einfach zu verstehen: BlitzBasic: [AUSKLAPPEN] Graphics 800,600,32,2 |
||
Athlon 64 3700+ | 1024 MB RAM | GeForce 7900 GT | Blitz2D, Blitz3D, BlitzPlus, BlitzMax |
Leonb |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
cool! Danke!
Ich habe ja noch gar nicht angefangen mit meinem Spiel ^^ Soll so ein Weltraumshooter werden, wo man 2 Bildschirme hat und sich dann gegenseitig abschießt. Also 2 Raumschiffe und ohne KI-Gegner. ![]() So ich lese mir noch ein zweites mal Types durch und dann sollte ich alles nötige für diese Idee coden können ![]() Thx für die Bsp! |
||
meine HP:
http://www.scz.de.ms |
Leonb |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hmmm mal ne doofe Frage, wie schreibt man die Kollisionsabfrage mit Types und ImagesCollide()?
Ich dachte für dieses Bsp: BlitzBasic: [AUSKLAPPEN] ImagesCollide(Gegner,x,y,0,[b]?[/b],s\x,s\y,0) Wie fragt man da eine Kollision mit einem Gegner ab? |
||
meine HP:
http://www.scz.de.ms |
E. Urbachehemals "Basicprogger" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also, ALLGEMEIN:
Type tPlayer Field x,y End Type a.tPlayer=New tPlayer g.tPlayer=New tPlayer ;... Initialisierung If ImagesCollide(a\x,a\y,a\width,a\height, g\x, g\y, g\width, g\height) |
||
![]() |
SpionAtomBetreff: Re: [B2D] Raumschiff-Steuerung |
![]() Antworten mit Zitat ![]() |
---|---|---|
Spikespine hat Folgendes geschrieben:
Kleine Korintenkackerei am Rande. Es muss heißen ein Bild-Array mit 90 Einträgen. ![]() |
||
![]() |
Spikespine |
![]() Antworten mit Zitat ![]() |
---|---|---|
ach huch, hast recht ![]() hab ich doch gemeint! |
||
Athlon 64 3700+ | 1024 MB RAM | GeForce 7900 GT | Blitz2D, Blitz3D, BlitzPlus, BlitzMax |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group