mein erster Versuch dieses Thema etwas genauer zu durchleuchten fiel
leider wegen Lizensrechtlichen ungereimtheiten ins wasser. Aber ich gebe
ja nicht so schnell auf. Neues Konzept .... neuer Spass.
Copyrigt vermerk für das nachvolgende Tutorial
alle Rechte verbleiben beim Autor , T.Temucin alias TFT .
Die kommerzielle nutzung des FrameWorks ist nur mit ausdrücklicher
genehmigung des Autors erlaubt.
Die Links dürfen nicht Kopiert oder auf einer anderen Webseiten
plaziert oder als Verweis angegeben werden.
Die im Tutorial benutzten und zum Download bereitgestellten
Objecte und Texturen dürfen nur in zusammenhang mit diesem
Tutorial verwendet werden.
Haftungs ausschluss
Für schäden die durch das verwenden des FrameWorks direkt oder
indirekt entstehen übernimmt der Autor keine Haftung.
---------------------------------------------------------
In den letzten 3 Tagen habe ich mich damit befast die etwas veraltete
B3D Engine die es als SDK zu kaufen gibt genaue unter die lupe zu
nehmen.
Ich kenne sie recht gut. Da ich ein begeisterter B3D User bin. Und wie ich
gehofft habe ist es recht einfach die Engine in eigenen Projecte zu
integrieren. Der Grund für diesen Entschluss liegt für mich ganz klar
darin begründet. Das ich lieber eine Funktionierende und Stabiele Engine
verwende. Als ständig diese halbgaaren Free geschichten.
Also Back to the rutz.
Diese Tutorial richtet sich an alle intersierten Coder. Die Mal eben schnell
... oder weils einfach schnell geht. Ein Game in 3D Coden möchten.
Ohne 80% ihrer freizeit damit zu verbringen das Rad merfach neu zu
erfinden.
Eine kurze erleuterung zum Aufbau des Tutorials. Ich bin kein Schreiber.
Ausserdem habe ich (C) auf meine Rechtschreibfehler. Daher habe ich
mir eine Form des Tutorial ausgedacht. Die auch für eigenen Experimente
gut zu gebrauchen ist.
Ich habe ein FrameWork vorbereitet, das all die Funktionen und
Inizialisierungen vornimmt. Die nicht Project abhängig sind. Das ganze
besteht aus einem Satz Includes die entsprechend ihren Namen als
Code Träger dienen. Diese sind so vorbereitet, das nur die Includes
bearbeitet werden. Bei jedem neuen Capter wird das FrameWork neu
verwendet.
Code: Alles auswählen
;
;(C) by TFT 2009 / PB 4.30 mit Blitz 3D SDK 1.02
;
; FrameWork B3D 003, 10.1.09
;
EnableExplicit
;
If InitSprite()=0
MessageRequester("Error", "Cant init DirectX Sprite",0) : End
EndIf
IncludeFile "..\..\Blitz3DSDK_V102\PureBasic\blitz3dsdk.pbi"
IncludeFile "SetScreenMode.pbi"
IncludeFile "InitProjectDaten.Pbi"
IncludeFile "InitProjectProceduren.Pbi"
Procedure FPS()
Protected Tickdammy=GetTickCount_()
Static FPSTimer1,FPSTimer2,FPSCount
If FPS<>0
Tickdammy=GetTickCount_()
If FPSTimer1<Tickdammy
FPSTimer1=Tickdammy+1000
FPSCount=FPSTimer2
FPSTimer2=0
Else
FPSTimer2 + 1
EndIf
bbtext(10,10,"FPS = "+Str(FPSCount))
EndIf
EndProcedure
bbBeginBlitz3D ()
If FM=1
bbGraphics3D (ScreenX, ScreenY, 0, 2)
Else
bbGraphics3D (ScreenX, ScreenY, 0, 1)
EndIf
Global cam = bbCreateCamera ()
IncludeFile "InitB3DDaten.pbi"
IncludeFile "InitCodeView.pbi"
Repeat
IncludeFile "Project3DLoop.pbi"
bbRenderWorld ()
IncludeFile "LookCode.Pbi"
IncludeFile "Project2DLoop.pbi"
FPS()
bbFlip (SFR)
Delay(TFS) ; Dem System etwas Zeit einräumen
Until bbKeyHit (#KEY_ESCAPE)
IncludeFile "ProjectEnd.pbi"
bbEndBlitz3D ()
End
läst sich Compiliren und leuft.
Diese Includes sind bereits Erarbeitet.
IncludeFile "..\..\Blitz3DSDK_V102\PureBasic\blitz3dsdk.pbi"
IncludeFile "SetScreenMode.pbi"
Ersteres enthält das BlitzSDK, und das nachfogende ist ein Screen
Requester mir einigen zum Testen gebreuchlichen Optionen.
Zum SDK möchte ich noch anmerken. Ich kann es aus Licenstechnischen
gründen weder teilweise noch ganz mitgeben. Entweder ihr schaut euch
die Laufenden Exe an um das ergebniss zu sehen oder ihr besorgt euch
die SDK auf Legalem weg. Die Exes gibts immer zum Gasamten Capter Packet dazu.
Ich werde hir die Optionen nicht weiter kommentieren. Jedes Gatget hat
ein ToolTip das sich selbst erklärt.
Das Start FrameWork für alle nachfolgenden Capter gibts hir.
http://www.optima-code.ch/PB/capter-001.zip
Als besonderheit kann man mit der Taste F1 den Code am Bildschirm
anzeigen lassen. Mit dem MouseRad kann der Text hoch und runter
gescrollt werden. Es gibt Roten Text und Grüne Ramen. Der Rote Text
zeigt stellen an denen B3D komanndos verwendent werden. Der Grüne
Ramen kann angeklickt werden. Das bewirkt dann die anzeige des
Entsprechenden Includes. Mit der F2 Taste wird wider das FrameWork
angezeigt, und nochmaliges drücken von F1 löscht die Code Anzeige.
In den einzelnen Captern werden nur dies Includs auswälbar sein
die auch Code enthalten.
Im Capter-001 befindet sich auch die B3D.DLL, Diese sollte ins
Windows/System32 verzeichniss kopiert werden.
Feedback ist erwünscht. Besonders muss ich wissen ob das FrameWork
in seiner jetzigen Form überall funktioniert.
Fiel Spass TFT