variableninhalt als name übergeben (z.b. positionentity)

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

occide

Betreff: variableninhalt als name übergeben (z.b. positionentity)

BeitragSa, Jul 16, 2005 18:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi.

Folgendes Problem: habe 500 objekte mit dem namen "object1" - "object500". mit Str() kann ich mir problemlos in einen String den objektnamen erstellen zb. obj$="object"+Str(n) -> obj$ = "object1".
leider weigert sich b3d den inhalt des strings als übergabeparameter bei zb. positionentity zu akzeptieren: potitionentity obj$,1,1,1 geht nicht. hat jemand ne lösung, außer mir n riesiges array zu erstellen?

Thnx

Ebola33

BeitragSa, Jul 16, 2005 19:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Was du vor hast funktioniert nicht. Entweder Arrays oder Types benutzen. Str ist nur für Strings nicht für Variablen oder Objektnamen.

edit: Ausserdem, wie kommt man auf die Idee 500 Objekte von Hand in nummerierten Variablen zu erstellen ?


Mfg Ebola
ansteckend... Wink
verstaubtes Projekt : http://www.mitglied.lycos.de/ebola33/
 

occide

BeitragSa, Jul 16, 2005 19:22
Antworten mit Zitat
Benutzer-Profile anzeigen
k. schade.

zu 2. : garnicht Wink der plan war, anhand einer textdatei, die von nem kleinen loaderprogramm erstellt wird und die dateinamen der objekte enthält, die objekte automatisch zu erstellen. aber dies geht ja wiederum auch nicht, wie ich in nem anderen threat gelesen hab. insofern: drauf gek... Smile , ich versuch mal, wie ichs mit types hinkrieg.

Gruß.

Ebola33

BeitragSa, Jul 16, 2005 19:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Natürlich geht das. Sofern die dateien der Objekte durchnummeriert sind einfach in einer for - next Schleife.

Code: [AUSKLAPPEN]

dim mesh(499)
for i=0 to 499
mesh(i)=loadmesh("blabla"+str(i)+".3ds",......)
next


oder habe ich dich jetzt falsch verstanden ?
ansteckend... Wink
verstaubtes Projekt : http://www.mitglied.lycos.de/ebola33/
 

occide

BeitragSa, Jul 16, 2005 19:51
Antworten mit Zitat
Benutzer-Profile anzeigen
jein. ich wollte es eben gerade nicht mit einem array machen, weil ich nicht genau weiß, wieviele objekte ich nachher erstelle (wird ein leveleditor, wo man objekte reinladen und positionieren etc kann). also ist array gestorben. versuche es jetzt gerade mit type, hab aber da wiederum das problem, daß ich nicht auf ein bestimmtes objekt eines types zugreifen kann, ohne jedesmal alle durchzuzählen, bis ich da bin. die b3d hilfe ist da leider sehr knapp und behauptet, ich kann nur mit BEFORE AFTER und eben FOR EACH durch das Type-feld durchscrollen. aber das muß doch auch anders gehen, oder? z.b.
type objekt
field lalala...
field nummer
end type
for ...
o.objekt = new objekt
o\entity = loadmesh(name$)
o\nummer=i

macht mir 15 objekte, aber wie kann ich jetzt gezielt auf nummer 13 zugtreifen, ohne alle objekte bis 13 "durchzuzählen" und zu überprüfen, ob o\nummer=13 ist?? HIIIIIILFEEEEE Confused

simi

BeitragSa, Jul 16, 2005 19:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich empfehle da Banks, diese sind auch nicht schlecht.....

Du könntest auch mit Types in Kombination mit ql:Handle und ql:Object arbeiten....
 

fliege

BeitragSa, Jul 16, 2005 20:11
Antworten mit Zitat
Benutzer-Profile anzeigen
aber wenn du unbekannte objekte hast, bleibt dir nicht viel übrig als Types...
Wer weiß was kommt.. ?

Ebola33

BeitragSa, Jul 16, 2005 20:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Ist doch egal, er kann ja trotzdem Arrays benutzen und die hinterher neu Dimensionieren. Nur muss er hinterher alles neu reinladen, da die Daten beim redimensionieren verloren gehen.
ansteckend... Wink
verstaubtes Projekt : http://www.mitglied.lycos.de/ebola33/
 

occide

BeitragSa, Jul 16, 2005 20:14
Antworten mit Zitat
Benutzer-Profile anzeigen
ok, gelöst (zumindest als workaround). mit handle klappts wie ich will, wenn auch umständlich. wenns jemand wissen will, kann ichs gern posten, muß aber jetzt schnell weitercoden Very Happy

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group