Gegner Steuerung bei einem Shooter Game?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

bruce85

Betreff: Gegner Steuerung bei einem Shooter Game?

BeitragSa, Sep 23, 2006 13:20
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo leute,
Also ich bin grad an einem Shooter Game, alles funktioniert soweit, also die gegners habe ich mit Types erstellt und angezeigt auf dem Bildschirm.

Jetzt meine Frage, wie mache ich ambesten die Steuerung der Gegner das die immer in Richtung Spieler fliegen aber net kollidieren, wie berechne ich den kürzeste weg zum Spieler?
Also wenn ein Gegner z.B. 50 Pixel vorm Spieler ist das der gegner dann stehen bleibt?
Ich wäre euch sehr dankbar wenn ihr mir Tips geben könntet wie ich das ambesten Realisiere.

hier mal wo die gegners abgefragt werden:
Code: [AUSKLAPPEN]
For g.gegner = Each gegner
    DrawImage gegner,g\gegner_x,g\gegner_y
    If KeyDown(200) Then
      g\gegner_x = g\gegner_x + Cos(Winkel)*4
      g\gegner_y = g\gegner_y + Sin(Winkel)*4
    EndIf
    If KeyDown(208) Then
      g\gegner_x = g\gegner_x - Cos(Winkel)*4
      g\gegner_y = g\gegner_y - Sin(Winkel)*4
    EndIf
  Next


also wenn man mit dem Raumschiff weg fliegt, dann bewegen sich die gegners auch weg, hab das mit Cosinus machen müssen weil der Hintergrund ja Scrollt, und das Raumschiff immer an der gleiche Position bleibt.

und hier dann das Raumschiff:

Code: [AUSKLAPPEN]
DrawImage Alien(Winkel),x,y


Vielen Dank schonmal.

Gruss Andreas
 

bruce85

BeitragSa, Sep 23, 2006 16:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Hat keine ne Idee wie ich das machen könnte?

MFG Andreas

Schranz0r

BeitragSa, Sep 23, 2006 16:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
if g\gegner_x < SpielerX then
   g\gegner_x = g\gegner_x +2
else
  g\gegner_x  = g\gegner_x - 2
endif

If g\gegner_x = Spielerx - 50 then
   g\gegner_x = Spielerx - 50
elseif g\gegner_x = Spielerx +50 then
  g\gegner_x = Spielerx + 50
endif


Das mit Y auch..

--> Nicht getestet, aber so in der Art würde ich das machen



PS.: Doppelposts STINKEN!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!HAUPTSACH et kost VIEL!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 

Dreamora

BeitragSa, Sep 23, 2006 16:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit einem einfachen Distanzcheck vielleicht?
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group