Seite 1 von 1

Projektil fliegt selbe richtung

Verfasst: 14.11.2006 17:11
von 3DKante
Hi,
bin neu hir und wohlte gleich ein problem ansprechen das ich in meinem 2d schooter habe. :mrgreen:

wen ich schiese und mich anschliesend bewege dan dreht sich das Projektil mit und fliegt in die selbe richtung.
Solange es nicht am Bildschirmrand gelöscht wird siet man es wie es vorwerts fliegt aber natürlich immer dachin wo ich hinschaue. /:->

währe schön wen mir jemand helfen würde <)

ich habe mich umgeschaut aber hatte keine ähnlichen probleme gefunden :|

Verfasst: 14.11.2006 17:17
von #NULL
du mußt im moment des schießens die daten (z.b. winkel und position) für den bullet extra speichern und anhand der gespeicherten werte die weitere flugbahn berechnen, sodass sie unabhängig von der spielfigur und deren werte ist.

Verfasst: 14.11.2006 17:18
von Rubiko
Poste bitte mal ein Stück Code bei dem das Problem auftritt.

P.S. Bist du Legastheniker? Sorry aber das dein Posting is echt blöd zu lesen
(nicht böse gemeint ;) )

EDIT: hilft dir das von #Null? sorry aber ich hab aufgrund deines Postings nichtmal wirklich das Problem verstanden^^

Verfasst: 14.11.2006 17:38
von 3DKante
ich bin nicht soo oft in foren um mich mit der
schreibweise auszukennen :wink:

ein ausschnit vom code aus einer repeat schleife

Code: Alles auswählen

...
DisplaySprite3D(4,playerX,playerY)
  
    ResetList(schuss())
    While NextElement(schuss())
      DisplaySprite3D(7,schuss()\x,schuss()\y)
    Wend
  
    ResetList(schuss())
    While NextElement(schuss())
      Select Richtung
       Case #Hoch
         schuss()\Y-schuss()\speed
       Case #Runter
         schuss()\Y+schuss()\speed
       Case #Rechts
         schuss()\X+schuss()\speed
       Case #Links 
         schuss()\X-schuss()\speed
       EndSelect     
      If schuss()\X>#Breite Or schuss()\X<0 Or schuss()\Y>#Hoche Or schuss()\Y<0
        DeleteElement(schuss())
      EndIf
    Wend
...
irgendwie denke ich es liegt irgenwie daran, aber ich habe keine ahnung warum :|

Verfasst: 14.11.2006 17:58
von #NULL
in dem moment wo du schießt speicherst du doch sicherlich die player-position in deiner schuss-structure (x und y). mach das selbe mit der richtung, nachdem du deiner structur für die schüsse ein richtungs-feld hinzugefügt hast.

..
und dann fragst du statt

Code: Alles auswählen

Select Richtung
das hier ab

Code: Alles auswählen

Select schuss()\Richtung
somit ist die richtung nicht mehr von der bewegung des players abhängig.

Verfasst: 14.11.2006 18:02
von 3DKante
:D :D DANKEE :D :D
es funkt