3D-Space-Game-004.bb


;------------------------------------------------------- ; ; 3D Space Game Tutorial ; ; (C) by Turgut Frank Temucin alias TFT ; ; Alle Rechte verbleiben beim Autor. Die Veröffentlich- ; ung außerhalb des BlitzForums ist nur mit Genehmigung ; gestattet. Der Sorce-Code ist Freeware und darf für den ; privaten Gebrauch frei verwendet werden. ; ;------------------------------------------------------- ; File: 3D-Space-Game-004 ; Date: 25.07.03 ;------------------------------------------------------- ; BB3D: 1.83 ;------------------------------------------------------- ; Mein dank an: Markus und HotBit ;------------------------------------------------------- ; ; Bewegung. Ein faszinierender Aspekt jedes Space Games. ; Wir werden das Ganze recht einfach gestalten. Damit ; wir unsere Objekte auch mal richtig zu sehen bekommen. ; Gesteuert werden soll über die Tastatur. Dazu benutzen ; wir eine Function, welche alle wichtigen Dinge enthält. ; ------------------------------------------------------ ; ; Als erstes werden ein paar Konstanten definiert. Diese ; sind unveränderbar und immer Global. Const screen_x=640 Const screen_y=480 Const screen_m=2 ; Bildschirm Modus ; 2=Fenster 1=Fullscreen Const screen_t=16; 16 Bit oder 32 Bit Bildschirm ; Dann wird der Bildschirm geöffnet ; Graphics3D screen_x,screen_y,screen_t,screen_m ; Den Bildschirm öffnen SetBuffer BackBuffer() ; das DoubleBuffering aktivieren ; Dannach die Kamera- und Licht-Einstellungen ; Global Cammera=CreateCamera() ; Ohne Kamera sieht man nichts Global licht=CreateLight(1) ; Für das richtige Ambiente muß eine ordentliche ; Lichtquelle her. RotateEntity licht,0,90,0 ; Das Licht kommt von rechts ; Jetzt wird ein Objekt erzeugt und positioniert ; Global ball=CreateSphere(12) ; Eine Kugel erstellen Global tex=LoadTexture("welt.jpg") ; Die Welt-Textur laden EntityTexture ball,tex ; und dem Objekt zuweisen PositionEntity ball,0,0,3 ; Und vor die Kamera stellen ; Ein Objekt, welches mit DOGA L1 erstellt wurde, wird geladen. Global schiff=LoadMesh("schiff.x") PositionEntity schiff,0,-.5,2 ; Nun kommt der Main Loop ; Repeat TurnEntity ball,0,.1,0 ; Das Objekt wird bewegt/gedreht bewege_schiff() ; Funktions-Aufruf für die Schiffs-bewegung RenderWorld ; Bild berechnen und zeichnen Flip 1 ; Seite wechseln Until KeyHit(1) ; Abrechen, wenn ESC gedrückt ; Und zum schluss das ende ; End ; Alles beenden Function bewege_schiff() If KeyDown(200) ; Taste Pfeil auf TurnEntity schiff,.2,0,0 Else If KeyDown(208) ; Taste Pfeil ab TurnEntity schiff,-.2,0,0 Else If KeyDown(205) ; Taste rechts TurnEntity schiff,0,.2,0 Else If KeyDown(203) ; Taste links TurnEntity schiff,0,-.2,0 EndIf If KeyDown(17) ; Taste W MoveEntity schiff,0,0,.01 Else If KeyDown(31) ; Taste S MoveEntity schiff,0,0,-.01 EndIf End Function ; ------------------------------------------------------ ; ; Juhu..... es bewegt sich doch. Aber leider scheint da ; einiges nicht zu stimmen. Beide Objekte sind etwa ; gleich groß, und überlappen sich. Also werden wir ; versuchen, das Größen-Verhältnis ein wenig zu verbes- ; sern. ; -> Weiter mit 3D-Space-Game-005.bb
Created on 20.08.2005
Zurueck