brauche nur eine kurze aufklärung

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

scheka_der_7

Betreff: brauche nur eine kurze aufklärung

BeitragDi, Jul 03, 2007 21:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Leute,

hab hier ein einen sample angeguckt, er ist recht einfach aber ich hab so meine Schwierigkeiten mit der Maus.
Also ich schreibe mal hin wie ich das verstanden habe

mx=MouseXSpeed() Zeigt die verschiebeung von dem Mauszeiger auf der
X Achse
my=MouseYSpeed() Dasselbe bloß auf der Y Achse
MoveMouse 320,240 Das ist unsichbarer Rand für den Zeiger

und der Rest verhindert, dass die Achsen von der Welt und die Achsen von dem Körper sich überschneiden, also glaube ich.

Kann mir bitte jemand die genaue Bedeutung dieser Zeilen erklären.

MoveEntity cur,mx*.1,0,-my*.1
ex=EntityPitch#(cam)
ey=EntityYaw#(cam)
ez=EntityRoll#(cam)
RotateEntity cur,ex,ey,ez

Hier ist der komplette Beispiel

Graphics3D 640,480,16,1
SetBuffer BackBuffer()

cam=CreateCamera()
PositionEntity cam,0,5,0

lit=CreateLight()

cur=CreateSphere(8)
EntityColor cur,255,215,0
PositionEntity cur,0,0,10

pln=CreatePlane()
tex=LoadTexture("C:\Programme\Blitz3D\fichte.jpg")
ScaleTexture tex,10,10
EntityTexture pln,tex

Repeat
mx=MouseXSpeed()
my=MouseYSpeed()
MoveMouse 320,240

MoveEntity cur,mx*.1,0,-my*.1

ex=EntityPitch#(cam)
ey=EntityYaw#(cam)
ez=EntityRoll#(cam)
RotateEntity cur,ex,ey,ez


If KeyDown(203) TurnEntity cam,0,2,0

If KeyDown(205) TurnEntity cam,0,-2,0

UpdateWorld
RenderWorld
Flip

Until KeyHit(1)

End

Danke für die Hilfe Cool

the FR3AK

BeitragDi, Jul 03, 2007 21:40
Antworten mit Zitat
Benutzer-Profile anzeigen
1. Das gehört in die Beginners Corner
2.Benutze den Code Button...
3.Schau dir die Onlinehilfe an Wink

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMi, Jul 04, 2007 0:08
Antworten mit Zitat
Benutzer-Profile anzeigen
ql:MoveMouse ist kein unsichtbarerer Rand, sondern bewegt die Maus auf angegebene Position.

Code: [AUSKLAPPEN]
MoveEntity cur,mx*.1,0,-my*.1
ex=EntityPitch#(cam)
ey=EntityYaw#(cam)
ez=EntityRoll#(cam)
RotateEntity cur,ex,ey,ez

Macht nichts anderes, als das die Mausbewegung sich nach der Kameraposition richtet. Also Maus nach links bewegt den cur auch nach links auf dem Bildschirm, egal wohin die Kamera grad hinzeigt. Sonst müsste man ständig die Kameradrehung mit berücksichtigen. Das gleiche Problem was oft Frauen haben, wenn sie anfangen den Stadtplan zu drehen, damit sie immer ''nach oben'' gehen müssen.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

the FR3AK

BeitragMi, Jul 04, 2007 0:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Währe das was in diesem Code gezeigt wird nicht mit EntityPick leichter machbar?

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMi, Jul 04, 2007 0:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich finde das Beispiel schon recht einfach. Zudem man es auf zwei Zeilen runter reduzieren könnte. Wie man nun aber EntityPick dazu nutzen könnte um das zu berechnen, bleibt mir zunächst ein Rätzel.

Wenn ich sowas programmieren würde, hätte ich es sicherlich zuerst mit TFormPoint oder TFormVector ausprobiert. Letztendlich ist es aber Geschmackssache. Jetzt weiß ich aber, wie man es auch machen kann, auch wenn es ein bisschen nach einem ''Workaround'' stinkt. Very Happy Für Testcodes ganz gut zu gebrauchen.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group