Little problem understanding types...
Blitz3D Forums/Blitz3D Programming/Little problem understanding types...
I have some problems understanding Types. I know that they are declared like this:
Type TypeName
Field myvar1, myvar2
End Type
, and I know how to access them, but if this is like creating chairs, etc...where do script the Types? If I for example wants to create lots of cars which "lives in it's own world", and does what myvar1, and myvar2 says, where do I script the car that can be created with TypeName with variable myvar1, and myvar2?
That's the part I do understand (just read it). I do understand how I can declare the types, create new ones with the specific variablevalues, but how can I for example create 100 chairs (with all the coordinates, and stuff), if the chairs aren't loaded anywhere? That's what I can't understand.
I find it very hard to believe you read all of both those articles and took it all in during the twelve minutes since I posted. In any case, you haven't take it all in, and you really need to read them through again, carefully. The explain it far better than I could.
"but how can I for example create 100 chairs (with all the coordinates, and stuff), if the chairs aren't loaded anywhere? That's what I can't understand."
something like this?
for i = 0 to 99
c.chair = new chair
c\Xpos = rnd(-100,100)
c\Zpos = rnd(-100,100)
c\name$ = "chair" +str(i)
next
however if you want to create each xpos and ypos manually you would need to do them manually or use an editor or maybe from some data.
But where is LoadMesh("Chair.x")?, that makes the chair appear? Currently I'm using arrays to have many objects, and still control them.
Put another field into the type, for example
Field ChairMesh
then do a
c\ChairMesh=LoadMesh("Chair.x")
or load a chairmesh into another mesh and do a CopyEntity for each one.
when I need to update all of my types, i use this code
For Type.Type = each Type
[update code]
Next
But when I need to update one Type of this collection in particular, I select the type by one of its field, for instance :
For Type.Type = each Type
If Type\Name$ = "mark sibly"
[update code]
Endif
Next
My Level Editor and my Game are built on this principle and all seem to be perfect.