Wiedermal Tabelle dyn!?

heino-th

Erfahrenes Mitglied
HI, heut ma wieder mein Problem:
Ich erstell mit zwei Funktionen einmal die Spaltenüberschriften/Felder und einmal die Felder dazu, nun ist mein Problem ich ereiche keinen Zugriff von außerhalb auf die Objekte...
Ist wahrscheinlich mal wieder nur n kleiner Fehler, währe aber froh wenn mich einer darauf hinweisen könnte.
_root. usw, haben mich alle nicht zu dem Objekt gefürt, und, ich könnte ja das attachMovie, in eine var schreiben lassen, aber dann wüsste ich nich wie ich das anstellen könnte, die ganzen einzeln anzusprechen, vll mit array(s)?!

Hier der Code:
PHP:
var startX,startY,Hoehe,gesBreite,gesHoehe:Number;
var Breite:Array;

function createTableSpalte(startX,startY,Breite,Hoehe) { 
	var gesBreite:Number = startX;
	var gesHoehe:Number = startY;
	for(var a:Number=0;a<Breite.length;a++) {
		Spalte = "Spalte_"+a;
		_root.attachMovie("protoSpalte",Spalte,this.getNextHighestDepth());
		this[Spalte]._x = gesBreite+0.5*a;
		this[Spalte]._y = gesHoehe;
		this[Spalte]._width = Breite[a];
		this[Spalte]._height = Hoehe;
		this[Spalte]._alpha = 100;
		gesBreite += Breite[a];
	}
}
function createTableZeile(startX,startY,Breite,Hoehe,Zeilen) {
	var gesBreite:Number = startX;
	var gesHoehe:Number = startY;
	for(var a:Number=0;a<Zeilen;a++) {
		for(var b:Number=0;b<Breite.length;b++) {
			Zeile = "Zeile_"+a+"_"+b;
			_root.attachMovie("protoZeile",Zeile,this.getNextHighestDepth());
			this[Zeile]._x = gesBreite+0.5*b;
			this[Zeile]._y = gesHoehe;
			this[Zeile]._width = Breite[b];
			this[Zeile]._height = Hoehe;
			this[Zeile]._alpha = 50;
			gesBreite += Breite[b];
		}
		gesHoehe = startY + a * Hoehe + 0.5 * a;
		gesBreite = startX;
	}	
}	

createTableSpalte(25,25,new Array(50,100,250,50,100),25); 
createTableZeile(25,50,new Array(50,100,250,50,100),25,10);

in der bibliothek liegen protSpalte und protoZeile mit verknüpfung, was auch alles Prima funktioniert.
Aber der Zugriff eben leider net

Danke schonmal! :D

mfg heino
 
Lass dir mal beim Erstellen innerhalb der for-Schleife per trace die erstellten Movieclips
ausgeben, also trace(this[Spalte]) bzw. trace(this[Zeile]).
Dann siehst du im Ausgabefenster genau wo die liegen. Mit trace(this[Spalte]._name)
bzw. eben Zeile kannst du prüfen, ob der Instanzname richtig zugeordnet wird.

Ansonsten: Wie und von wo versuchst du die denn anzusprechen?

Gruß
Rena
 
Hallo, danke erstma für deine Antwort.

Also, bei deinem Tipp mit der außgabe per trace, bekomme ich den Pfad, also _level0.Spalte_0 ... bis ... _level0.Spalte4 (zum Beispiel), genauso bei Zeilen.

Ich habe auch versucht sie so anzusprechen, das ist mir aber komischerweise nicht gelungen :D

Ich möchte eigentlich nur von außerhalb der Schleifen zugriff auf die Spalten und Zeilen bekommen.
Also, ich rufe die funktionen in den letzten Zeilen ja mit Parametern auf, und z.b. danach mäöchte ich noch einzeln Farbwerte oder andere Eigenschaften zuweisen, später sollen darin ja textfelder liegen, also auch text.

Danke schonmal

mfg heino
 
heino-th hat gesagt.:
also _level0.Spalte_0 ... bis ... _level0.Spalte4 (zum Beispiel), genauso bei Zeilen.
Das kann schonmal nicht sein bei der trace-Ausgabe - also entweder mit
oder ohne Unterstrich zwischen Spalte und Zahl

Und wie gesagt
Rena Hermann hat gesagt.:
Ansonsten: Wie und von wo versuchst du die denn anzusprechen?
Konkretes Script und Aufbau bitte, also wo was liegt (Struktur) - sonst
wird das hier zum Quiz.

Falls der Fehler daraus dann immer noch nicht ersichtlich, bastel
mal 'ne kleine Demo-Fla mit nur dem Problem (bitte keinen Kram drumrum,
durch den man sich erst durchwurschteln muss) und häng die hier an.
Flashversion dazu schreiben nicht vergessen.

Am besten du machst gleich beides...
 
Zuletzt bearbeitet:
Hi,
oh, hab mich beim zweiten mal vertippt, muss natürlich immer Spalte_(Nummer) sein.

Also, nochmal hier mein Code:(mehr is es noch nich-da ich ja mit dem Problem so nicht weiter arbeiten kann :D)
PHP:
//GANZ RUNTER SCROLLEN! DA IS ERST DIE ERKLÄRUNG WAS ICH MEINE! :)
var startX,startY,Hoehe,gesBreite,gesHoehe:Number;
var Breite:Array;

function createTableSpalte(startX,startY,Breite,Hoehe) { 
    var gesBreite:Number = startX;
    var gesHoehe:Number = startY;
    for(var a:Number=0;a<Breite.length;a++) {
        Spalte = "Spalte_"+a;
        _root.attachMovie("protoSpalte",Spalte,this.getNextHighestDepth());
        this[Spalte]._x = gesBreite+0.5*a;
        this[Spalte]._y = gesHoehe;
        this[Spalte]._width = Breite[a];
        this[Spalte]._height = Hoehe;
        this[Spalte]._alpha = 100;
        gesBreite += Breite[a];
    }
}
function createTableZeile(startX,startY,Breite,Hoehe,Zeilen) {
    var gesBreite:Number = startX;
    var gesHoehe:Number = startY;
    for(var a:Number=0;a<Zeilen;a++) {
        for(var b:Number=0;b<Breite.length;b++) {
            Zeile = "Zeile_"+a+"_"+b;
            _root.attachMovie("protoZeile",Zeile,this.getNextHighestDepth());
            this[Zeile]._x = gesBreite+0.5*b;
            this[Zeile]._y = gesHoehe;
            this[Zeile]._width = Breite[b];
            this[Zeile]._height = Hoehe;
            this[Zeile]._alpha = 50;
            gesBreite += Breite[b];
        }
        gesHoehe = startY + a * Hoehe + 0.5 * a;
        gesBreite = startX;
    }    
}    

createTableSpalte(25,25,new Array(50,100,250,50,100),25); 
createTableZeile(25,50,new Array(50,100,250,50,100),25,10);
//und hier will ich z.B.: die Farbe von einer bestimmten Zelle ändern!
sColor = new Color(Spalte_0); //Dachte ich zumindest, aber funktioniert auch mit _root. oder _level0 nich!
sColor.setRGB(0x000000);

Das wars eigentlich auch schon, das das Problem, ich kann einfach nich auf die voher auf die Bühe 'attachten* MCs zugreifen?! Leider weis ich auch keine Erklärung dafür, weshalb ich da auch nich viel rumprobieren kann :/

Danke schonmal

mfg heino
 
Spalte_0 ist in dem Fall dann ein fester Instanzname - also ein String.
Versuch es mal mit
PHP:
sColor = new Color("Spalte_0");
So wie es jetzt da steht, denkt Flash, Spalte_0 wäre ein
Variablenname, den gibt es ja nicht.
 
oh, danke, aber an dem lag es auch nicht, es funktioniert auf beide wege als string und variable.
Mein Fehler war leider *peinlich sei* das ich zuerst die zuweisung der farbe machen wollte, aber dann erst die Funktionen aufgerufen habe :rolleyes:

Danke trotzdem für deine Mühe, ohne deine Hilfe wäre ich bestimmt noch länger dran gesessen bis mir das aufgefallen wäre :)

mfg heino
 
ah, aber ein problem hab ich noch.
Ich rufe ja aus der Bibliothek den MC heraus, per attachMovie und positioniere in dann mitHilfe von _x und _y.
Dann weise ich breite und höhe mit _height und width zu.

Nun,
bei Breite und Höhe, würde sich ja dann die Umrandungslinie verzerren, aknn ich das irgendwie verhindern, auser durch auch, dynamisches zeichnen der Linie`?

danke

mfg heino
 
heino-th hat gesagt.:
bei Breite und Höhe, würde sich ja dann die Umrandungslinie verzerren, aknn ich das irgendwie verhindern, auser durch auch, dynamisches zeichnen der Linie?
Meines Wissens nicht ... leider. :(
Es sei denn du verwendest die Einstellung "Haarlinie" für die Kontur. Die bezieht sich
soweit ich weiß auf die kleinste Darstellungsmöglichkeit des Empfängermediums, also
keine feste Größe und skalierungsunabhängig.

Gruß
Rena
 
Ah, ok - Danke nochmal Viel Mals :)

Ich werde dann ja endlich mal wieder an meinem Projekt weiterarbeiten können.

Schöne Nacht noch!
//Fleißig am arbeiten oder warum um die Zeit noch auf?!

mfg heino
 

Neue Beiträge

Zurück