Types und verebung ?!
Übersicht

KnartzBetreff: Types und verebung ?! |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hey leute,
ich wollte eine basisklasse erstellen und dann erweiterte darauf aufsetzen ungefähr so BlitzBasic: [AUSKLAPPEN]
Muss ich jetzt jede klasse für sich bauen oder kann ich C++-mäßig mit verebung arbeiten, oder gibt's da etwas, das ich übersehen habe ? danke für die hilfe |
||
MegaTefyt |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das Problem hatte erst gestern jemand, schau doch einfach in die Hilfe auf blitzbase.de, da stehen Beispiele dazu drin. ![]() |
||
KnartzBetreff: gelöst |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
"Objektorientierte Programmierung" in der blitzbase beschreibt das.
geht halt nicht wirklich so wie ich wil. ich muss also so basteln BlitzBasic: [AUSKLAPPEN]
hm, knartz_the_coder.person\experience = knartz_the_coder.person\experience + 1000 ![]() das geht doch auch einfacher ,oder ? thx |
||
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du könntest höchstens kürzere Variablennamen verwenden, oder eine Referenz zu dem Person Type zwischenspeichern:
Code: [AUSKLAPPEN] p.person = knartz_the_coder\person
p\experience = p\experience + 1000 Wenn du richtige OOP benutzen möchtest empfehle ich dir mal einen Blick auf BlitzMax zu werfen. Da gibts Methoden, Statische Methoden, Vererbung und Polymorphismus. |
||
Knartz |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
danke für den hinweis.
irgendwie gefällt mir das aber nicht so wirklich. ist eigentlich besser als bb3d kostet aber weniger - warum ? |
||
gamble |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Für BlitzMax ist noch kein 3D Modul verfügbar, und wenn es dann fertig ist wird man es wahrscheinlich kaufen müssen. | ||
Knartz |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
mit kein 3d modul meinst du jetzt komplett null 3D fähigkeiten ?
oder nur kein D3D? bis jetzt hat es wohl nur 2d opengl, oder ? |
||
![]() |
bruZard |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein, BMax basiert auf OGL oder DX (kannst Du Dir aussuchen) ... es stellt nix 3D dar, verwendet aber 3D zur Darstellung von 2D Grafik. | ||
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32
User posted image |
Knartz |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
also sind die 3d befehle noch nicht in bmax implementiert ? | ||
BIG BUG |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Es wird hier ein eigenes kostenpflichtiges 3D-Modul geben. Ich denke insgesamt dürfte das Ganze dann etwas teurer als B3D werden, aber bisher scheint noch nichtmal das BMax-Grundmodul sonderlich ausgereift zu sein... | ||
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final) |
Knartz |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hm , ist wohl noch sehr neu, oder?
@jolinah : danke für den tip ! |
||
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hatte bisher keine Probleme mit BlitzMax. Im 2d Bereich kann man im Moment mindestens soviel wie in Blitz2d machen, wenn nicht sogar mehr (Rotate, Alpha usw.), und das ganze ist wahrscheinlich erst noch ein wenig schneller. Hinzu kommt OOP.
Bei 3D siehts natürlich anders aus, wobei sich einige (Vertex, Markus?) bereits die Mühe machen eigene 3D Engines zu schreiben die man, wie ich finde, bereits gut gebrauchen kann. Netzwerk Support gabs zu Beginn auch noch nicht, und jetzt benutzen viele das BNet bzw. BNetEx Modul von Vertex weil das offizielle Modul nicht so der Hit ist ![]() Das einzige was meiner Meinung nach noch nicht so ausgereift ist, ist das Errorhandling. Die meisten Funktionen lösen gar keine Exception aus wenn da was fehlschlägt. Ok es gibt ein paar grundlegende Exceptions wie Memory Exception usw.. Aber anhand dieser Exceptions kann man nicht wirklich erkennen was denn nicht funktioniert hat. Wenn z.B. von einem Stream nicht mehr gelesen werden kann sollte da nicht eine Memory Exception oder ähnliches kommen, sondern eine Problem-spezifische Exception. Vielleicht sowas wie StreamReadingException oder was weiss ich. Das ermöglicht es einem in nem grossen Try-Catch-Block zu ermitteln wo das Problem lag: Code: [AUSKLAPPEN] Local var:MyType = Null
Local stream:TStream = ReadStream("file.txt") Try var.a = 10 'Memory Exception da var = Null stream.ReadByte() 'Memory Exception weil nix gelesen werden kann Catch ex:Object 'Was nun? End Try Wie man sieht kann man da im Catch nicht unterscheiden wo nun ein Fehler aufgetreten ist. Schöner wäre sowas: Code: [AUSKLAPPEN] ...
Try var.a = 10 'Memory Exception stream.ReadByte() 'StreamIOException Catch ex:Object If MemoryException(ex) Print "Ungültiges Objekt" Elseif StreamIOException(ex) Print "Von der Datei konnte nicht gelesen werden. EndIf End Try |
||
Knartz |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hm ich warte dann mal bis die 3d libs da sind...
hab ja dann erstmal genug zu tun mit meinem studium ... ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group