Zurück   Flashforum > Flash > Flash erweitern > Flash Entwicklungsumgebung erweitern

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 18-04-2007, 02:55   #1 (permalink)
nky
Bontempi Punk
 
Benutzerbild von nky
 
Registriert seit: Dec 2001
Ort: Dtld/Pfalz
Beiträge: 4.185
funktion die alle frames und alle clips durchläuft fehlerhaft

hi - ich hab hier ein script was mit die bühne durchläuft und textfelder richtig setzt. nun möchte ich im falle das es einen movieclip gibt das script einfach nochmal aufrufen - nur eben mit der timeline des movielips...
weiss jemand was ich da falsch mache - hier der fehlerhafte part
ActionScript:
  1. var tl = pTimeline.layers[k].frames[j].elements[i].timeline;
  2. prepareTextFields(tl)

und hier das ganze script
ActionScript:
  1. //correct format of the textfields
  2. var currentDoc = fl.getDocumentDOM();
  3. var myTimeline = currentDoc.getTimeline();
  4. prepareTextFields(myTimeline);
  5.  
  6.  
  7. function prepareTextFields(pTimeline)
  8. {
  9.     var myTimeline = pTimeline
  10.     var count = 0;
  11.    
  12.     for (var k = 0; k < myTimeline.layers.length;k++)
  13.     {
  14.         var myLayer = myTimeline.layers[k];
  15.         for (var j = 0; j < myLayer.frameCount;j++)
  16.         {
  17.             var myFrame = myLayer.frames[j];
  18.            
  19.             for (var i = 0; i < myFrame.elements.length; i++)
  20.             {
  21.                 var myElement = myFrame.elements[i];
  22.                 var etype = myElement.elementType;
  23.                 if(etype == "text")
  24.                 {
  25.                     count++;
  26.                     myElement.setTextString("");
  27.                     myElement.name = "text_"+count+"_txt";
  28.                    
  29.                     if(myElement.textType != "dynamic")
  30.                     {
  31.                         myElement.textType = "dynamic";
  32.                         fl.trace("Changed textfield to type dynamic");
  33.                     }
  34.                    
  35.                     if(myElement.lineType != "multiline")
  36.                     {
  37.                         myElement.lineType = "multiline";
  38.                         fl.trace("Changed Textfield to multiline");
  39.                     }
  40.                    
  41.                     if(myElement.embeddedCharacters != "")
  42.                     {
  43.                         myElement.embeddedCharacters = "";
  44.                         fl.trace("Embedded Characters removed in textfield");
  45.                     }
  46.                    
  47.                     if(myElement.renderAsHTML != true)
  48.                     {
  49.                         myElement.renderAsHTML = true;
  50.                         fl.trace("Html Text turned on in Textfield");
  51.                     }
  52.                    
  53.                     if(myElement.selectable != false)
  54.                     {
  55.                         myElement.selectable = false;
  56.                         fl.trace("Deactivated Selection in Textfield");
  57.                     }
  58.                    
  59.                     if(myElement.embedRanges != "")
  60.                     {
  61.                         myElement.embedRanges = "";
  62.                         fl.trace("Embedded Ranges were found and removed in Textfield");
  63.                     }
  64.                    
  65.                     if(myElement.border != false)
  66.                     {
  67.                         myElement.border = false;
  68.                         fl.trace("Border in Textfield turned to false");
  69.                     }
  70.                 }
  71.                
  72.                 if(myElement.instanceType == "symbol")
  73.                 {
  74.                     //BUG
  75.                     //wie kann ich hier die timeline von dem clip übergeben ?
  76.                     var tl = pTimeline.layers[k].frames[j].elements[i].timeline;
  77.                     prepareTextFields(tl)
  78.                    
  79.                     fl.trace("movieclip found - loop through and ceck textfields there !!!");
  80.                 }
  81.                
  82.             }
  83.         }
  84.     }
  85. }

gruss nky
nky ist offline   Mit Zitat antworten
Alt 09-05-2007, 12:31   #2 (permalink)
Neuer User
 
Registriert seit: Aug 2002
Ort: Düsseldorf
Beiträge: 31
Das geht, indem Du die Inhalte deiner Bibliothek durchläufst:

var doc=fl.getDocumentDOM();
var lib = doc.library;
var libItems = lib.items;

//loop through all library items
for(var li=0;li<libItems.length;li++){

if(lib.getItemType(libItems[li].name)=="movie clip"){

lib.editItem(libItems[li].name);

// ------------------- do something -------------------

}

}


Gruss Christoph
------------------
http://www.freelanders.de
freelanders ist offline   Mit Zitat antworten
Alt 10-05-2007, 15:53   #3 (permalink)
nky
Bontempi Punk
 
Benutzerbild von nky
 
Registriert seit: Dec 2001
Ort: Dtld/Pfalz
Beiträge: 4.185
danke - kann ich dann aber auch die wirklichen instanznamen erfahren auf die art und weise..

bsp ich erstelle nen mc rechtececk der liegt dann so in der Bib...dann zieh ich ihn auf die bühne und nenne in testo

komme ich dann auch an den instanzmane testo - wenn der in der bühne liegt ?
das kann ja eigentlich net gehen weil ich ja auch mehrere instanzen auf die bühne ziehen köntne testo1 testo2 testo3 die dann alle von dem gleichen objekt in der bib stammen..

also bin ich doch quasi gezwungen alle frames und layer zu durchforsten..
oder ?

gruss nky
nky 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 aus.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 01:48 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele