Kompass in B3D

Übersicht BlitzBasic Codearchiv

Neue Antwort erstellen

Valio

Betreff: Kompass in B3D

BeitragMo, Feb 09, 2004 15:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Jemand hat mich über ICQ wegen einem Kompass angefragt (Nickname: VPG, Forumsname/Email sind mir unbekannt). Also hab' ich's schnell gecodet, aber betreffende Person ist leider offline und ich hab' nicht den ganzen Tag Zeit...
Nützt ja vielleicht auch noch jemand anderem was.

BlitzBasic: [AUSKLAPPEN]
Graphics3D 640,480
SetBuffer BackBuffer()
camera=CreateCamera()
c.compass=createcompass()
PositionEntity c\windrose,-2,-2,5

cube = CreateCube()
PositionEntity cube,2,-2,5

WireFrame 1

While Not KeyDown(1)
If KeyDown(205)=1 Then TurnEntity camera,0,-1,0
If KeyDown(203)=1 Then TurnEntity camera,0,1,0
If KeyDown(208)=1 Then MoveEntity camera,0,0,-0.05
If KeyDown(200)=1 Then MoveEntity camera,0,0,0.05
turncompass(c,0,MouseXSpeed(),0)
UpdateWorld()
RenderWorld()
Text 0,0,\"Mit Cursortasten kannst du dich bewegen\"
Text 0,20,\"Mit der Maus kannst du den Kompass drehen\"
Flip
Wend
End

;*********************************************

Type Compass
Field windrose, needle
Field needleangle#
End Type

Function createcompass.compass()
Local c.compass = New Compass
c\windrose = CreateSphere(4)
ScaleEntity c\windrose,2,0.3,2
c\needle = CreateCone(8,1,c\windrose)
PositionEntity c\needle,0,1,0
ScaleEntity c\needle,0.05,0.5,0.1
TurnEntity c\needle,90,0,0
EntityColor c\needle ,255,0,0
c\needleangle = 0
Return c
End Function

Function turncompass(e.compass,a#,b#,c#)
TurnEntity e\windrose,a,b,c
TurnEntity e\needle,0,e\needleangle/20,0,1
e\needleangle = (e\needleangle * 0.95 - b) Mod 360
End Function
Programming today is a race between software engineers striving to build better and bigger idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. - Rick Cook
Gegen TCPA || Stoppt RFID || Tux user #361946 || User posted image

Neue Antwort erstellen


Übersicht BlitzBasic Codearchiv

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group