Frage und Assaris Tutorials
Übersicht

hamztataBetreff: Frage und Assaris Tutorials |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Kann man die tutorials von assari auch irgendwo komplett am stück downloaden?
und eine frage am rande, nachdem ich jetzt so einige codes mir angeschaut habe.... ich kenn noch z.b. variable = loadmesh..... jetzt hab ich in bmax gesehen "irgendwas:TMesh = loadmesh..." oder so ähnlich. nur eine frage dazu, ist das :TMesh nur wegen minib3d oder gibts nen grund für diese art der deklaration.... ja steht sicher in den tuts, aber hab sie erstmal überflogen. ich geh erstmal pennen. |
||
AvaGast |
![]() Antworten mit Zitat |
|
---|---|---|
Ähm, ja, es gibt einen Grund. Du bekommst im Gegensatz zu Blitz3D keinen Integerwert zurück, sondern einen direkten Objektpointer vom Typ TMesh. Das ist übersichtlicher (man weis immer, was man hat) und auch schneller, als über den Integer das Objekt rauszusuchen. Zudem kann man die Funktionen und Methoden für das Objekt direkt aufrufen, ohne Umwege über andere Funktionen. Naja, objektorientierte Programmierung halt. ![]() ![]() |
||
hamztata |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
oh alles klar.
stellt sich nur die frage ob ich dann bei einem zugriff immer so pointen muss, also die entität immer irgendwas:TMesh angesprochen wird. nach dem motto moveentity irgendwas:TMesh. und TMesh wird ja sicher auch nur irgendwo deklariert/definiert, aber dazu werd ich erstmal schauen was ich heut noch so in den tuts hier zu lesen finde. gab ja sogar deutsche tuts hier irgendwo. |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das :TMesh ist nur bei der Deklaration von Bedeutung.
Ich arbeite selbst nicht mit MiniB3D, aber grundsätzlich läuft sowas so ab: Code: [AUSKLAPPEN] Type TTest
field bla:int field blub:int method do(x:int) print (bla*blub+x) end method end type local test:TTest = new TTest 'hier wird eine Instanz von der obigen Schablone erstellt test.bla = 5 test.blub= 8 test.do(2) |
||
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 |
hamztata |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
genau das kommt mir eher bekannt vor.
Hatte mich gewundert woher denn dieses Type denn kommt. im grunde wird also einer variable ausser dem bspw. loadmesh gleich auch noch ein type aufgedrückt, welches dann eben verschiedene eigenschaften haben kann. oder verstehe ich das falsch.es kommt ja kein new TMesh sondern ein loadmesh. |
||
AvaGast |
![]() Antworten mit Zitat |
|
---|---|---|
Das New TMesh wird innerhalb von LoadMesh aufgerufen. Dann werden die Daten dort entsprechend vorbereitet (zb. geladen ect.) und das erstellte TMesh Objekt wird von der Funktion an Dich zurückgegeben.
Deinen Satz mit dem "aufgedrückt" verstehe ich nicht. Eine Variable wird immer klar deklariert - und bleibt dann auch so. |
||
hamztata |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ah hab grad gesehen, daß das nur minib3d betrifft, wo man das machen MUSS.
weil dort bspw. TMesh notwendig ist, weil minib3d ja damit dann die infos aus einem geladenen mesh liest.also mittels dieser structur.also ist ein mini3bd bezogener type. will nämlich eine andere engine verwenden, dachte schon das muss man überall machen. |
||
AvaGast |
![]() Antworten mit Zitat |
|
---|---|---|
Du hast in jeder Engine andere Objektklassen ... das Prinzip bleibt dennoch überall das gleiche. | ||
hamztata |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
das stimmt ja auch, aber nicht überall muss man dann irgendein TIrgendwas dazuschreiben.
Also normale variablen reichen sozusagen. also mesh = loadmesh...... wie bei bb3d halt |
||
AvaGast |
![]() Antworten mit Zitat |
|
---|---|---|
Und wenn es kein TIrgendwas ist, dann ist es ein Int, Float, Double, Byte, String, was auch immer ... das Prinzip bleibt immer gleich. Weglassen darfst Du sowas nur ausserhalb des SuperStrict Modes - aber das ist definitiv nicht empfehlenswert! | ||
hamztata |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ja das weiß ich ja, grins.wird zwar eine umstellung, aber strict ist sauberer, soweit hab ichs schon geschnallt. | ||
![]() |
Geeecko |
![]() Antworten mit Zitat ![]() |
---|---|---|
Superstrict ist am saubersten. | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group