schuss richtet sich nach camera aus

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

mas93

Betreff: schuss richtet sich nach camera aus

BeitragSo, Okt 21, 2007 19:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi Leute,
Ich habe festgestellt, dass etwas an meiner Schussfunktion nicht stimmt.
Ich habe aber keine Ahnung, woran es liegt.

Zum Problem:
Wenn ich meine Camera an der position lasse, an der sie ist, und dann den schuss abfeuere, stimmt alles.
Wenn ich die Cameraposition aber ändere, also z.b 3 meter neben den Spieler, dann geht die schusspossition auch leicht mit in die Richtung.

Ich weiss aber nicht warum, denn der Schuss wird nicht über die camerapositionen berechnet.
Ich vermute aber, dass es an dem komischen Tformvector() leigt, oder daran, dass die camera child des playerpivots ist, woran der schuss gekoppellt ist.

Hier mal der code wo ich die Camera und die mesh lade:

Code: [AUSKLAPPEN]


Global playerpiv=CreatePivot()
EntityType playerpiv,2
EntityRadius playerpiv,3,10
;---------------DIE MESHS LADEN-------------------------
Global playermesh=LoadMD2(meshbeine$,playerpiv)
ScaleEntity playermesh,2,2,2
PositionEntity playermesh,0,-10,0
RotateEntity playermesh,0,90,0

Global waffenmesh2=LoadMesh(waffe2pfad,playerpiv)
ScaleEntity waffenmesh2,2,2,2
PositionEntity waffenmesh2,0,-10,0

Global kopf=LoadMesh(meshkopf,playerpiv)
Global kwinkel=0 ;Der Winkel des kopfs
ScaleEntity kopf,2,2,2
PositionEntity kopf,0,-10,0

Global cam=CreateCamera(playerpiv):PositionEntity cam,0,-4,-12



und hier der Teil wo der laser angezeigt wird.
Also der Laser bewegt sich nicht, sondern ist ein langer strahl(<- das soll so sein)

Code: [AUSKLAPPEN]

If s\nummer=1 Then
            TFormVector -4,-8,17, playerpiv,0
             PositionEntity s\entity,TFormedX()+EntityX(playerpiv),TFormedY()+EntityY(playerpiv),TFormedZ()+EntityZ(playerpiv)
            PositionEntity laserstart,TFormedX()+EntityX(playerpiv),TFormedY()+EntityY(playerpiv),TFormedZ()+EntityZ(playerpiv)
            RotateEntity s\entity,0,EntityYaw(kopf)+EntityYaw(playerpiv),0
          EndIf
      
          If s\nummer=2 Then
             TFormVector 4,-8,17, playerpiv,0
             PositionEntity s\Entity,TFormedX()+EntityX(playerpiv),TFormedY()+EntityY(playerpiv),TFormedZ()+EntityZ(playerpiv)
            PositionEntity laserstart2,TFormedX()+EntityX(playerpiv),TFormedY()+EntityY(playerpiv),TFormedZ()+EntityZ(playerpiv)
             RotateEntity s\Entity,0,EntityYaw(kopf)+EntityYaw(playerpiv),0
          EndIf


Laserstart könnt ihr hier einfach mal ignorieren. Das ist lediglich fürs bessere Aussehen im code und hat mit dem Problem nichts zu tun

Wäre nett wenn ihr den Fehler finden würdet, denn ich komm ienfach nicht drauf.

mfg
mas93
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau]

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group