Flugsteuerung

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Chrise

Betreff: Flugsteuerung

BeitragFr, Dez 01, 2006 17:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo!
Ich bin ja erst frisch am lernen, bin jetzt aber schon weiter am forschreiten und hab schon angefangen etwas zu proggen.

Ich habe ein Problem, irgendwie kann ich keinen Screenshot machen also schildere ichs einfach.
Ich habe ein 3D Flugzeug erstellt und es eingefügt.
Jetzt soll man mit der Maus Lenken, doch irgendwie scheint bei mir das 3D modell irgednwie zu spinnen.
Immer wenn es gedreht werden soll springt trotz so ner Schleife das Modell wieder zurück in den Ursprung, so das man meint das Objekt ist transparent udn doppelt...

Hier der Code:

Code: [AUSKLAPPEN]
ScreenX=1024
ScreenY=768
Graphics3D ScreenX, ScreenY, 0, 0
SetBuffer BackBuffer()
Global camera=CreateCamera()
;------------------------------------------
Screenxprozent=0
;------------------------------------------

Zrotate#=30
Xrotate#=300
Yrotate#=180
;------------------------------------------

PositionEntity camera, 0, 0, -10
Global Flieger=LoadMesh( "Flieger_mesh.x" )
Global Fliegertex=LoadTexture ("Flieger_mesh2.tga" )
ScaleEntity Flieger, 1.0, 1.0, 1.0
EntityTexture Flieger, Fliegertex
Global light=CreateLight(1)
PositionEntity light, 0, 2, 4
TurnEntity Flieger, Xrotate, Yrotate, Zrotate
PositionEntity Flieger, 0, 0, 0
;------------------------------------------
While Not KeyHit(1)
X=MouseX()
Y=MouseY()
Print X
Print Y
Cls
Screenxprozent = X*100
Screenyprozent = Y*100
Screenxprozent = Screenxprozent/ScreenX
Screenyprozent = Screenyprozent/ScreenY
Print Screenxprozent + ("%")
Print Screenyprozent + ("%")
Rotationsrechnungz# = 0.6
Rotationsrechnungx# = 0.6
Rotationsrechnungz = Rotationsrechnungz*Screenxprozent
Rotationsrechnungz = Rotationsrechnungz-30
Zrotate=Rotationsrechnungz
TurnEntity Flieger, Xrotate, Yrotate, Zrotate
Rect 0,0,640,480 Bild=LoadImage ("zeiger.bmp")
MaskImage Bild, 255, 0, 0
DrawImage Bild, X, Y

UpdateWorld
RenderWorld
Flip
Wend



weißjemand wie man mein Problem behebn kann?
thx
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet.

Mr.Keks

BeitragFr, Dez 01, 2006 17:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Rotationsrechnungz# = 0.2
Rotationsrechnungx# = 0.2
Rotationsrechnungz = Rotationsrechnungz*Screenxprozent
Rotationsrechnungz = Rotationsrechnungz-10
TurnEntity Flieger, 0,0,Rotationsrechnungz
damit geht's ganz gut... das problem lag darin, dass du für xrotate und yrotate so rieeesige werte am anfang gesetzt hast.

allerdings ein paar hinweise:
1. print besser nicht in grafikanwendungen benutzen! das ist nur für konsolen gedacht und kann zu so späßen wie ursprungsverschiebung der grafik führen.
2. global macht keinen sinn, wenn du keine funktionen hast. globale variablen sind variablen, auf die du in jeder funktion zugreifen kannst. hast du keine funktionen, reichen normale variablen.
3. updateworld wird nur bei animationen und kollisionen, die von blitz verwaltet werden, benötigt.
4. immer wieder dasselbe loadimage bloß nicht in der hauptschleife!!! einmal am anfang laden einer grafik genügt für gewöhnlich.
MrKeks.net

Chrise

BeitragFr, Dez 01, 2006 18:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Mr.Keks hat Folgendes geschrieben:
Code: [AUSKLAPPEN]
Rotationsrechnungz# = 0.2
Rotationsrechnungx# = 0.2
Rotationsrechnungz = Rotationsrechnungz*Screenxprozent
Rotationsrechnungz = Rotationsrechnungz-10
TurnEntity Flieger, 0,0,Rotationsrechnungz


Das mit 0.6 und so das war irgendwie sowas für winkel, aber einige deiner Tipps hat geholfen, jetzt klappts vorerst wie ich mir das vorgestellt hab.
Thx Smile

kann geclosed werden
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet.

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group