Dumme Frage, aber wie kann ich ein standard Parameter für ein Array in die Funktion einfügen? Also z.B.
FUNCTION superduper: x, y, flag1=10, pts[] = ?
nicht?
oder evtl so:
...
O_O
... Kopfkratz...
Also...
GLOBAL gArr[]
DIMDATA gArr[], 1,2,3
FUNCTION poo: a[] = gArr[]
..
Ohne das initialisieren im code ist's schwer. Du könntest schaun ob LEN(a[])=0 und dann halt ein standart-Array reinpacken.
Dann kommt auch wie bei meine anderen Versuchen:
In file included from C:\Users\Marc\AppData\Local\Temp\glbasic\gpc_tempg.cpp:2:
C:\Users\Marc\AppData\Local\Temp\glbasic\gpc_temp.h:8: error: `gArr' was not declared in this scope
C:\Users\Marc\AppData\Local\Temp\glbasic\gpc_temp.h:8: error: expected primary-expression before ']' token
In file included from C:\Users\Marc\AppData\Local\Temp\glbasic\gpc_temp0.cpp:1:
C:\Users\Marc\AppData\Local\Temp\glbasic\gpc_temp.h:8: error: `gArr' was not declared in this scope
C:\Users\Marc\AppData\Local\Temp\glbasic\gpc_temp.h:8: error: expected primary-expression before ']' token
*** FATAL ERROR - Bitte die Compiler-Ausgabe ins Forum kopieren
Ich versuche halt gerade in meinem Framework box2d zu implementieren. Und mein plan war es das ich für jedes beliebige Objekt Q_EnablePhysics(id, typ$, mass, friction,restitution,radius=0 ,a[]=pts[]) aufrufen kann und es sich dann physikalisch verhält. typ$ kann bisher "box", "solid box" oder "circle" sein. Jetzt ist aus aktuellem Anlass "polygon" dran.
Eine nicht so hübsche Lösung wäre wenn ich auf die Übergabe verzichte und auf ein globales Array zugreife.
Wenn jemandem eine elegantere Lösung einfällt, bitte weiter posten.
Wenn ich dich richtig verstehe...
Geht das nicht, wenn du einen Polytype erstellst, also quasi so:
TYPE Polygon
pts[]
function init: i
dim self.pts[i]
endfunction
ENDTYPE
function foo: x, y, flag1=10, pts=5
local poly AS Polygon
poly.init(pts)//mit eigenem oder standardparameter initialisieren
endfunction
Hoffe ich hab dein Problem richtig erkannt?! :)
Danke Backslider,
aber das trifft es nicht oder ich habe deinen code nicht verstanden. Ich habe dann ja immer noch kein array übergeben. Ich will eine eigene Funktion aufrufen, die dann sowohl Schranzors box2d b_CreatePoly aufruft und gleichzeitig in meiner eigenen Objektliste das Handle zum box2d Polygon dem Obejekteintrag hinzufügt. Im box2d Beispiel ist es das Dreieck pts[3][2]. Da die Funktion aber auch zum kreieren von BOX und SOLID BOX Objekten da ist, für die man kein Array braucht, wollte ich nur wissen ob man im Funktionskopf einen Standard parameter angeben kann. Kitty sagt nein, dann werde ich es anders machen!