[B3d] 3d zeichnen (Functions Test)
Übersicht

SplitfatalBetreff: [B3d] 3d zeichnen (Functions Test) |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo erstmal. Wie man sieht ist dies mein erste Beitrag hier ![]() Also ich habe vor ca 3 tagen mit Blitz3d angefangen und bin richtig begeistert davon ![]() Momentan Bastel ich auch bissel an einem Ego Shooter (natürlich nur aus Test Zwecken um mich besser ins Programm einzuarbeiten (Habe noch nie gecodet das is schon etwas gewöhnungs bedürftig ![]() Ja also heute wollte ich mal schauen wie Funktionen nun Funktionieren und habe mal ein kleines Spiel(?) gemacht. Eigentlich total Sinnlos aber ich könnte ewig so rum fliegen ![]() Steuerung steht aufn Bildschirm. PS.: Das einzigste was ich nicht geschrieben habe ist die FPS berechnung da ich keine ahnung habe wie man die FPS berechnet. ^^ Screen: ![]() Da gibt es sicher viele Fehler. Vielleicht könnt ihr mir ja sagen wir ich das alles etwas einfacher schreiben kann? Oder kann mir jemand sagen wie ich es schaffe das der Speed nicht in den Minus bereich geht? Daran habe ich mich vergeblich versucht ![]() Ja hoffe auf Lob, Kritik oder angeschrien werden ![]() Gruß Splitfatal So und nun der Code: Zitat: Graphics3D 800,600,16,1 HidePointer() SetBuffer BackBuffer() ;Kamera und Licht; camerakolli=CreatePivot() camera=CreateCamera(camerakolli) Licht=CreateLight (2, camera) LightRange licht, 20 ;Feste Variabeln; Objektzaehler=0 wir=0 Speed#=1 While Not KeyHit(1) ;Steuerung;;;;;;;;;;;;;;;;;;;;;;; ;Mit der Maus umschauen; sMx# = MouseXSpeed() sMy# = MouseYSpeed() MoveMouse GraphicsWidth()/2,GraphicsHeight()/2 TurnEntity camerakolli, 0,-(sMx#/3),0, True TurnEntity camerakolli, (sMy#/3),0,0 ;Laufen; ;W, S; If KeyDown (17) Then MoveEntity camerakolli, 0,0,speed If KeyDown (31) Then MoveEntity camerakolli, 0,0,-speed ;A, D; If KeyDown (30) Then MoveEntity Camerakolli, -speed,0,0 If KeyDown (32) Then MoveEntity Camerakolli, speed,0,0 ;Sonstiges;;;;;;;;;;;;;;;;;;;;; ;Zeichnen: ;S/W zeichnen; If MouseDown(1) Then Objekterstellen (camerakolli) : Objektzaehler=Objektzaehler+1 ;Bund zeichnen; If MouseDown(2) Then Objekterstellenb (camerakolli) : Objektzaehler=Objektzaehler+1 ;WireFrame an; If Wir=0 And KeyHit (2) Then Wir=wir +1 ;Wireframe aus; If wir=1 And KeyHit(3) Then Wir=wir -1 ;Speed erhöhen; If KeyDown (78) Then Speed=Speed+0.1 ;Speed verringern; If KeyDown (74) Then Speed=Speed-0.1 WireFrame Wir UpdateWorld RenderWorld Text 0,0, "FPS: " + GetFps() + " Anzahl der Objekte: " + Objektzaehler + " Anzahl der Polygone: " + Objektzaehler*12 + " Speed: " + speed + " Wireframe: " + wir Text 0,20, "Steuerung:" Text 0,35, "W,S,A,D = Bewegen" Text 0,50, "Linke Maustaste: S/W zeichnen" Text 0,65, "Rechte Maustaste: Bund zeichnen" Text 0,80, "Speed erhöhren: +" Text 0,95, "Speed verringern: -" Text 0,110,"Wireframe an/aus: 1/2" Text 0,585, "Toni Pusch 2006" Flip Wend ClearWorld End ;Funktionen;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;FPS berechnen; Global FPS, FPS_temp, FPS_time Function GetFPS() ctime = MilliSecs() FPS_temp = FPS_temp + 1 If ctime - FPS_time > 500 Then FPS = FPS_temp * 2 FPS_temp = 0 FPS_time = ctime EndIf Return FPS End Function ;S/W zeichnen Funktion; Function Objekterstellen (woran) campox = EntityX (woran) campoy = EntityY (woran) campoz = EntityZ (woran) Zufall = Rnd(1,360) Zufall2 = Rnd(1,255) Cube=CreateCube() PositionEntity Cube, campox, campoy, campoz TurnEntity Cube, zufall, zufall, zufall EntityColor cube, Zufall2, Zufall2, Zufall2 End Function ;Bund zeichnen Funktion; Function ObjekterstellenB (woran) campox = EntityX (woran) campoy = EntityY (woran) campoz = EntityZ (woran) Zufall = Rnd(1,360) ZufallRot = Rnd(1,255) ZufallGruen = Rnd(1,255) ZufallBlau = Rnd(1,255) Cube=CreateCube() PositionEntity Cube, campox, campoy, campoz TurnEntity Cube, zufall, zufall, zufall EntityColor cube, ZufallRot, ZufallGruen, ZufallBlau End Function |
||
- Zuletzt bearbeitet von Splitfatal am Mi, Dez 06, 2006 12:58, insgesamt einmal bearbeitet
antome!!! gesperrt !!! |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du erstellt ja mit der Zeit immer mehr Objekte, das verringert die Speed natürlich auch immer mehr.
Da wird man nichts dran ändern können außer evtl. zwischendurch einen Screenshot machen und die Objekte löschen und das Bild als Hintergrund einfügen, dann weiter malen mit neuen Objekten. Aber eine interessante Idee. |
||
antome |
![]() |
DerHase |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich mag das Programm ![]() |
||
Play Satyr! |
Splitfatal |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@Antome
Naja ich denke auch das es nen kleiner Test sein sollte wie viele Polygone mein Rechner wohl schafft. @Der Hase Ohh danke denn befehl kannt ich gar nicht ![]() |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
~VERSCHOBEN~ Dieser Thread passte nicht in das Forum, in dem er ursprünglich gepostet wurde. netter Test, aber kein Fall für das Codearchiv. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group