Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 05-09-2006, 10:00   #1 (permalink)
Hardstyle DJ
 
Benutzerbild von djdwarf
 
Registriert seit: Nov 2004
Ort: Hamburg
Beiträge: 622
Clips und Text in container erstellen, warum gehts nicht?

Hallo FF,


hab ein Script das ein paar flächen malt, Textfelder erstellt und MCs aus der BIB holt. Nun will ich das Ganze ummodeln, sodass die Elemente nicht mehr auf _root. sondern im container_1 erstellt werden. Das klappt aber nicht so recht und ich verstehe nicht warum.



anbei die fla zum anschauen, mit einer beschnittenen Version des Scripts. In der Version liegt alles auf _root und alles klappt.





So, nun tauschen wir mal das ganze Script gegen folgendes aus:
PHP-Code:
//-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
//            EINSTELLUNGEN VORGABEWERTE
//-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_root.place_x 0;
_root.place_y Stage.height;

_root.abstand_kws 70;
_root.kw_y 20;

_root.tage_x_abstand 6;
_root.tage_y_abstand_zu_kw 20;

//-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
//            ----ENDE VOREINSTELLUNGEN----
//-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

//In diesen MC soll der ganze Kram rein ;)
_root.createEmptyMovieClip("container_1"_root.getNextHighestDepth());

//Erstelle den Stift MC, der alle Flächen zeichnet
_root.container_1.createEmptyMovieClip("stift"_root.getNextHighestDepth());

// - - - - - Textfelder für KWs erstellen
for(i=0;i<10;i++){
    
// - - - - - helles Hintergrundfeld zeichnen
    
_root.container_1.stift.beginFill(0x9999FF100);
    
_root.container_1.stift.lineStyle(20x0000000);
    
_root.container_1.stift.moveTo(_root.place_x+(_root.abstand_kws*i)-10_root.kw_y+2);    
    
_root.container_1.stift.lineTo(_root.place_x+(_root.abstand_kws*i)+58_root.kw_y+2);
    
_root.container_1.stift.lineTo(_root.place_x+(_root.abstand_kws*i)+58_root.kw_y+16);
    
_root.container_1.stift.lineTo(_root.place_x+(_root.abstand_kws*i)-10_root.kw_y+16);
    
_root.container_1.stift.lineTo(_root.place_x+(_root.abstand_kws*i)-10_root.kw_y+2);    
    
_root.container_1.stift.endFill();
    
    
// Dann Textfeld drauf setzen
    
_root.createTextField("kw_txt_"+i_root.getNextHighestDepth(), _root.place_x+(_root.abstand_kws*i), _root.kw_y,40,18);
    
_root["kw_txt_"+i].text "KW "+i;
    
_root["kw_txt_"+i].setTextFormat(kw_text_format);
    
//_root["kw_txt_"+i].border = true;
}

// - - - - - Tage an KW Textfeldern erstellen
count=0;
for(
i=0;i<10;i++){
            
// - - - - - helles Hintergrundfeld zeichnen
            
_root.container_1.stift.beginFill(0x99FF99100);
            
_root.container_1.stift.lineStyle(20x0000000);
            
_root.container_1.stift.moveTo(_root.place_x+(_root.abstand_kws*i)-10_root.kw_y+_root.tage_y_abstand_zu_kw+18);    
            
_root.container_1.stift.lineTo(_root.place_x+(_root.abstand_kws*i)+58_root.kw_y+_root.tage_y_abstand_zu_kw+18);
            
_root.container_1.stift.lineTo(_root.place_x+(_root.abstand_kws*i)+58_root.kw_y+_root.tage_y_abstand_zu_kw+32);
            
_root.container_1.stift.lineTo(_root.place_x+(_root.abstand_kws*i)-10_root.kw_y+_root.tage_y_abstand_zu_kw+32);
            
_root.container_1.stift.lineTo(_root.place_x+(_root.abstand_kws*i)-10_root.kw_y+_root.tage_y_abstand_zu_kw+18);
            
_root.container_1.stift.endFill();
    for(
x=0;x<7;x++){
            
count++;            
            
// - - - - - dann clip draufsetzen
            
_root.attachMovie("tag""tag_"+count_root.getNextHighestDepth());
            
_root["tag_"+count]._x _root.place_x+(_root.abstand_kws*i)+(_root.tage_x_abstand*x);
            
_root["tag_"+count]._y _root.kw_y+20+_root.tage_y_abstand_zu_kw;                    
        }

Hier sind erstmal nur die Pfade zum zeichnen der Rechtecke geändert. Klappt alles immer noch wunderbar! Nun weiter, nächster Step, nur diese Passage ändern:

PHP-Code:
// Dann Textfeld drauf setzen
    
_root.container_1.createTextField("kw_txt_"+i_root.getNextHighestDepth(), _root.place_x+(_root.abstand_kws*i), _root.kw_y,40,18);
    
_root.container_1["kw_txt_"+i].text "KW "+i;
    
_root.container_1["kw_txt_"+i].setTextFormat(kw_text_format); 
Jetzt sollten die Textfelder ebenfalls im Container erstellt sein. Ergebnis ist aber, dass die Textfelder nicht da sind und auch die Flächen verschwunden sind .. ?!

Wie kann das sein?! Ich blick nicht wieso da dann alles zusammenbricht
Angehängte Dateien
Dateityp: zip container_problem.zip (4,9 KB, 0x aufgerufen)
djdwarf ist offline   Mit Zitat antworten
Alt 05-09-2006, 10:26   #2 (permalink)
flashworker
 
Benutzerbild von brose
 
Registriert seit: Jun 2003
Beiträge: 199
Hallo,

vielleicht mal anstatt _root.getNextHighestDepth() lieber _root.container_1.getNextHighestDepth() verwenden. Du erstellst das Textfeld ja in container_1, demzufolge muss sich auch getNextHighestDepth() darauf beziehen. Ansonsten kann es sein, das du die Ebenen in container_1 überschreibst und so nichts zu sehen ist.
__________________
brose
brose ist offline   Mit Zitat antworten
Alt 05-09-2006, 10:41   #3 (permalink)
Hardstyle DJ
 
Benutzerbild von djdwarf
 
Registriert seit: Nov 2004
Ort: Hamburg
Beiträge: 622
Hi brose,


jaaa!! Das wars! Au mann ... und es ist auch noch so verdammt logisch!

Wieso sieht man sowas nicht selber und beisst sich sattdessen da ewig die Zähne dran aus und versteht die Welt nicht mehr ?!


Vielen dank, dann kann ich ja weitermachen!
djdwarf ist offline   Mit Zitat antworten
Alt 05-09-2006, 10:51   #4 (permalink)
flashworker
 
Benutzerbild von brose
 
Registriert seit: Jun 2003
Beiträge: 199
Hi,

ja das passiert mir auch immer wieder. Schnell mal copy and past und schon funktioniert das ganze nicht mehr und man sitzt wie nen Schwein vorm Uhrwerk, bist man nach Ewigkeiten feststellt das man irgenteine Ebene überschreibt oder der Pfad falsch ist.
__________________
brose
brose ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 23:21 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele