Projektil fliegt selbe richtung

Anfängerfragen zum Programmieren mit PureBasic.
3DKante
Beiträge: 7
Registriert: 14.11.2006 16:55
Wohnort: Hauptstadt

Projektil fliegt selbe richtung

Beitrag 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 :|
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

Beitrag 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.
my pb stuff..
Bild..jedenfalls war das mal so.
Benutzeravatar
Rubiko
Beiträge: 943
Registriert: 25.02.2005 19:43
Computerausstattung: Intel i7 2600k
8GB Ram
GeForce GTX 560 Ti
Wohnort: Schwabach

Beitrag 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^^
Ich wollte die Welt verändern, doch Gott gab mir nicht den Quelltext.
3DKante
Beiträge: 7
Registriert: 14.11.2006 16:55
Wohnort: Hauptstadt

Beitrag 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 :|
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

Beitrag 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.
my pb stuff..
Bild..jedenfalls war das mal so.
3DKante
Beiträge: 7
Registriert: 14.11.2006 16:55
Wohnort: Hauptstadt

Beitrag von 3DKante »

:D :D DANKEE :D :D
es funkt
Antworten