3d Schuss funktion

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Schoasch

Betreff: 3d Schuss funktion

BeitragSa, Jan 17, 2009 16:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey, ich bins mal wieder =)
Ich will versuchen eine Schuss funktion zu machen , wo die Kugeln von der Kamera wegfliegen (um zwar in dem Winkel in dem die Kamera ist).

Ich hab das ganze mal mit Types versucht:

Code: [AUSKLAPPEN]

If KeyHit(57) Then
   kugel.schuss = New Schuss
      kugel\x = pivot_x
      kugel\y = pivot_y
      kugel\z = pivot_z
      kugel\geschwindigkeit = 20
      kugel\turn_schuss# = turn#
      kugel\neigung_schuss# = neigung#
      kugel\winkel_schuss# = winkel#
      kugel\entity_schuss = CreateCube()
      PositionEntity kugel\entity_schuss,kugel\x,kugel\y,kugel\z
EndIf

For kugel.schuss = Each Schuss
   RotateEntity kugel\entity_schuss,kugel\neigung_schuss#,kugel\winkel_schuss#,kugel\turn_schuss#
   MoveEntity kugel\entity_schuss,0,0,kugel\geschwindigkeit
Next


aber die Kugel fliegt immer nur in der Z-Achse...
Aber warum funktioniert das mit MoveEntity nicht?
Schließlich funktoiniert das bei der Kamera doch auch:


Code: [AUSKLAPPEN]

RotateEntity pivot,EntityPitch(pivot)+MouseYSpeed(),EntityYaw(pivot)-MouseXSpeed(),0
   
   If KeyDown(17) Then
      MoveEntity pivot,0,0,16
   EndIf
   If KeyDown(31) Then
      MoveEntity pivot,0,0,-16
   EndIf


Kann mir einer helfen und mir sagen woran das liegt?
Danke schonmal im Vorraus,
mfg
Schoasch

The_Nici

BeitragSa, Jan 17, 2009 17:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!
1) Rotieren musst du nur beim erstellen.
2) Neigung etc. musst du nicht in ein Type-Feld speichern, man kann sie mit EntityPitch usw. abfragen.
Du brauchst also keine Turn Variablen, das managed Blitz3D von selber.
3) Der Speed 20 ist etwas viel, kann man die Kugel noch sehen?

MfG
 

Schoasch

BeitragSa, Jan 17, 2009 17:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Also man kann die Kugeln noch sehen und egal wie ich mich drehe sie fliegen alle immer in die selbe Richtung, die Höhe kann aber unterschiedlich sein.
Ich habe das RotateEntity anfangs eh in der If Keyhit(57) Then... Abfrage gehabt, aber da passiert das gleiche.

mfg

Xeres

Moderator

BeitragSo, Jan 18, 2009 0:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich weiß nicht, was du für Neigung und Winkel usw. berechnest, aber du solltest das direkt von der Camera (oder beliebigem Start-Objekt) übernehmen können...
Code: [AUSKLAPPEN]
If KeyHit(57) Then
   kugel.schuss = New Schuss
   kugel\entity_schuss = CreateCube()
   kugel\x = pivot_x
   kugel\y = pivot_y
   kugel\z = pivot_z
   PositionEntity kugel\entity_schuss,kugel\x,kugel\y,kugel\z
   RotateEntity zauber\mesh, EntityPitch(camera) , EntityYaw(camera), EntityRoll(camera)
   kugel\geschwindigkeit = 20
EndIf

For kugel.schuss = Each Schuss
   MoveEntity kugel\entity_schuss,0,0,kugel\geschwindigkeit
Next
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group