...mal wieder Types, Übergeben an Funktionen[erledigt]

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Foppele

Betreff: ...mal wieder Types, Übergeben an Funktionen[erledigt]

BeitragDo, Dez 20, 2007 0:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
und mal wieder zeigt sich das ich Types noch nicht komplett verstanden habe...

Ich will eine Typevariable an eine Funktion übergeben. Ich habs schon auf verschiedene Arten probiert aber ich krieg immer sowas wie "illegal Type conversion" oder "variable must be a Type".
Das Beispiel auf Blitzbase macht mich nicht schlauer.

Hier meine Funktion bisher, "var" ist der Platzhalter.
Code: [AUSKLAPPEN]
Function setupBone(var,X,Y,Z,U,V,W)

var\target = CreatePivot()
var\mesh = CreateMesh()
surface = CreateSurface(var\mesh)
V0 = AddVertex(surface,0,0,0)
V1 = AddVertex(surface,-0.5,0.5,0.5)
V2 = AddVertex(surface,0.5,0.5,0.5)
V3 = AddVertex(surface,0.5,-0.5,0.5)
V4 = AddVertex(surface,-0.5,-0.5,0.5)
V5 = AddVertex(surface,0,0,1)

t0 = AddTriangle(surface,V0,V1,V2)
t1 = AddTriangle(surface,V0,V2,V3)
t2 = AddTriangle(surface,V0,V3,V4)
t3 = AddTriangle(surface,V0,V4,V1)
t4 = AddTriangle(surface,V1,V5,V2)
t3 = AddTriangle(surface,V2,V5,V3)
t3 = AddTriangle(surface,V3,V5,V4)
t3 = AddTriangle(surface,V4,V5,V1)
EntityAlpha var\mesh,0.5

PositionEntity var\mesh,X,Y,Z
PositionEntity var\target,U,V,W

End Function



...und so z.B. hab ich versucht die Funktion aufzurufen:

Code: [AUSKLAPPEN]
Global schulter.boneType
schulter = New boneType
setupBone(schulter,0,8,0,0,0,0)


Sad
  • Zuletzt bearbeitet von Foppele am Do, Dez 20, 2007 2:09, insgesamt einmal bearbeitet

ToeB

BeitragDo, Dez 20, 2007 0:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich glaub das müsste so heißen (bin mir net sicher !) :

Code: [AUSKLAPPEN]
Function SetupBone(var.bone,x,y,z,u,v,w)
var.bone = New bone
var\mesh = CraeteMesh ;usw...
;[...]
End Funtion


und dann :

Code: [AUSKLAPPEN]
Local schulter.bone
SetupBone(schulter.bone,1,2,3,4,5,6)

Müsste Funzten Wink

[EDIT]
Funzt ! grade ausprobiert !
[/EDIT]

mfg Crack93

Foppele

BeitragDo, Dez 20, 2007 1:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, das klappt schon mal. Aber dafür musste ich ja den neuen Type IN der Funktion erstellen.

Wenn ich schulter.Bone aber schon früher erstellt habe, aber später an eine Funktion übergeben will?
Man könnte zwar ein Type Field für den Namen machen, und dann in einer For/Next Schleife alle Types durchgehen und nach dem Namen suchen, aber geht das nicht auch einfacher?

ToeB

BeitragDo, Dez 20, 2007 1:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Jo, die gibt es, aber les dir am besten mal DAS hier durch !

mfg Crack93
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

Foppele

BeitragDo, Dez 20, 2007 1:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, des kenn ich doch:


TYPE person
FIELD name$
FIELD adresse$
FIELD alter%
FIELD einkommen#
END TYPE

FUNCTION ausgeben(person.person)
PRINT person\name$
END FUNCTION

vater.person=NEW person
vater\name$="Homer"
ausgeben(vater)


Aber so gehts bei mir nicht!

[EDIT] ..doch so gehts Embarassed (kleinlaut, versteh nich?, so hatt ich's doch schon probiert?!)

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group