Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 13-04-2005, 16:30   #1 (permalink)
flash student
 
Benutzerbild von pixelarts
 
Registriert seit: Apr 2005
Ort: Schweiz, Zürich
Beiträge: 527
removeMovieClip/removeTextClip geht nicht

Hallo miteinander,

habe ein kleines problem...

1. Situation
------------
ich habe eine flash page, welche eine galerie beinhaltet. in dieser galerie gibt es verschiedene "events" (zb. streetparade, party 2. september, geburi von Mark, ...). wenn man auf einer diese events click öffnet sich die bildersammlung dazu und natürlich einige textinfos (zb. datum, ort, anzahl fotos, was auch immer), die untereinander aufgereiht werden (in verschiedenen, laufzeiterzeugten dynamischen textfeldern).

nun, es gibt events, die haben mehr infos, und welche die haben weniger. das heisst wenn ich von einer bildersammlung mit vielen text infos in eine mit weniger infos wechsle, werden dem entsprechend auch weniger textfelder erzeugt. nur dummerweise wurden die anderen ja nicht gelöscht, somit enstehen unnötige textfelder.

einige dieser textfelder haben noch mit attach eingebundene movieclips als hintergrund.

2. Problem
-------------
ich kann diese textfelder/movieclips nicht löschen


3. was ich versucht habe
-------------------------
habe mit trace überprüft ob, vorher und nachher der movieclip/das textfeld noch da ist. anscheinend ist er nachher weg, irgendwie aber auch nicht, naja, schaut euch einfach mal das hier an:

4. Code
------------

ActionScript:
  1. //Ein MovieClip für folgenden code aus wenn darauf geklick wurde
  2. this.aQueue[i].sTargetClip._parent.onRelease = function() {
  3.  
  4.  
  5.    
  6.     //Hier werden/sollten die Textfelder und Movieclips gelöscht werden (falls welche schon vorhanden sind)
  7.     for(this.z=0; this.z<5; this.z++) {
  8.  
  9.        
  10.         //Die Textfelder und Movieclips liegen im gleichen movieclip, nur auf festschiedenen ebenen
  11.         //die MovieClips (hintergrund für titel) werden auf den ebenen 0-4 erstellt
  12.         //die Titel Textfelder werden auf den ebenen 5-9 ertellt und
  13.         //die info Textfelder werden auf den ebenen 10-15 ertellt
  14.         // (-> siehe weiter unten)
  15.  
  16.  
  17.         //Die ebenen werden abgetastet und die adressierung wird in den string gespeichert
  18.         this.tempClipString = " "+_root.addInfos.addInfosIn.textClip.getInstanceAtDepth(this.z);
  19.         this.tempTitleString = " "+_root.addInfos.addInfosIn.textClip.getInstanceAtDepth(this.z+5);
  20.         this.tempFieldString = " "+_root.addInfos.addInfosIn.textClip.getInstanceAtDepth(this.z+10);
  21.  
  22.  
  23.  
  24.         //das "alles mitkommt" (_level0.blbl.basdlkf.ldskf) wird der nötig teil bis zum Instanzname gekürzt
  25.         this.tempClipString = this.tempClipString.substr(this.tempClipString.lastIndexOf(".")+1);
  26.         this.tempTitleString = this.tempTitleString.substr(this.tempTitleString.lastIndexOf(".")+1);
  27.         this.tempFieldString = this.tempFieldString.substr(this.tempFieldString.lastIndexOf(".")+1);
  28.  
  29.         //überprüfen ob alles in Ordnung gekürzt wurde
  30.         trace(this.z+".Durchgang: tempClipString: "+this.tempClipString);
  31.         trace(this.z+".Durchgang: tempTitleString: "+this.tempTitleString);
  32.         trace(this.z+".Durchgang: tempFieldString: "+this.tempFieldString);
  33.  
  34.  
  35.         //kleiner test ob die Instanzen vor dem löschen existieren
  36.         trace("Test nachher: " + _root.addInfos.addInfosIn.textClip[this.tempClipString]._name);
  37.         trace("Test nachher: " + _root.addInfos.addInfosIn.textClip[this.tempTitleString]._name);
  38.         trace("Test nachher: " + _root.addInfos.addInfosIn.textClip[this.tempFieldString]._name);
  39.  
  40.         //löschen der Instanzen
  41.         _root.addInfos.addInfosIn.textClip[this.tempClipString].removeMovieClip();
  42.         _root.addInfos.addInfosIn.textClip[this.tempTitleString].removeTextField();
  43.         _root.addInfos.addInfosIn.textClip[this.tempFieldString].removeTextField();
  44.  
  45.  
  46.         //kleiner test ob die Instanzen gelöscht wurden
  47.         trace("Test nachher: " + _root.addInfos.addInfosIn.textClip[this.tempClipString]._name);
  48.         trace("Test nachher: " + _root.addInfos.addInfosIn.textClip[this.tempTitleString]._name);
  49.         trace("Test nachher: " + _root.addInfos.addInfosIn.textClip[this.tempFieldString]._name);
  50.     }
  51.  
  52.  
  53.    
  54.     //ermittelt die xml Nodes Name und gibt sie mittels array zurück
  55.     var nodeNames:Array = eval("rowObj"+this.ID).getNodeNames();
  56.    
  57.     var textFieldHeight = 0;
  58.     for (var a = 0; a<nodeNames.length; a++) {
  59.  
  60.         //Da die Text Infos untereinander sind muss ermittelt werden, wie hoch die sind und ab wo das nächste feld gesetzt wird
  61.         //irelevant, kann ignoriert werden
  62.         if (_root.addInfos.addInfosIn.textClip[nodeNames[a-1]+"Field"]._height == undefined) {
  63.             textFieldHeight = 0;
  64.         } else {
  65.             textFieldHeight = textFieldHeight+_root.addInfos.addInfosIn.textClip[nodeNames[a-1]+"Field"]._height+10;
  66.         }
  67.        
  68.  
  69.         //Hintergrund des Titels wird auf de bühne kopiert
  70.         _root.addInfos.addInfosIn.textClip.attachMovie("addInfosTitle", nodeNames[a]+"Back", a);
  71.  
  72.  
  73.         //Hintergrund wird zurechtgesetzt
  74.         _root.addInfos.addInfosIn.textClip[nodeNames[a]+"Back"]._x = 0;
  75.         _root.addInfos.addInfosIn.textClip[nodeNames[a]+"Back"]._y = textFieldHeight;
  76.        
  77.  
  78.         //Titel und dazugehörender Text werden erstellt
  79.         _root.addInfos.addInfosIn.textClip.createTextField(nodeNames[a]+"Title", a+5, 0, textFieldHeight-1, 115, 10);
  80.         _root.addInfos.addInfosIn.textClip.createTextField(nodeNames[a]+"Field", a+10, 0, textFieldHeight+11, 115, 10);
  81.        
  82.  
  83.         //Textfeldereigenschaften und textformat werden angepasst
  84.  
  85.         //für Titel
  86.         with (_root.addInfos.addInfosIn.textClip[nodeNames[a]+"Title"]) {
  87.            
  88.             autoSize = "left";
  89.             background = false;
  90.             //backgroundColor = "0x000000";
  91.             border = false;
  92.             //borderColor = "0x550000";
  93.             condenseWhite = false;
  94.             embedFonts = true;
  95.             type = "dynamic";
  96.             htmlText = NULL;
  97.             html = false;
  98.             maxChar = 200;
  99.             multiline = false;
  100.             password = false;
  101.             selectable = false;
  102.             tabEnabled = false;
  103.             textColor = "0x000000";
  104.             wordWrap = false;
  105.             restrict = NULL;
  106.             //variable
  107.             setNewTextFormat(titleFormatField);
  108.             text = eval("rowObj"+this.ID).getFormatedTitle(nodeNames[a]);
  109.            
  110.         }
  111.  
  112.         //für Text
  113.         with (_root.addInfos.addInfosIn.textClip[nodeNames[a]+"Field"]) {
  114.             autoSize = "left";
  115.             background = false;
  116.             //backgroundColor = "0xFF0000";
  117.             border = false;
  118.             //borderColor = "0xff0000";
  119.             condenseWhite = false;
  120.             embedFonts = true;
  121.             type = "dynamic";
  122.             htmlText = NULL;
  123.             html = false;
  124.             maxChar = 200;
  125.             multiline = true;
  126.             password = false;
  127.             selectable = false;
  128.             tabEnabled = false;
  129.             textColor = "0x000000";
  130.             wordWrap = true;
  131.             restrict = NULL;//"&¡¢£¤¥¦§¨©ª«¬*®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ";
  132.             setNewTextFormat(textFormatField);
  133.             text = eval("rowObj"+this.ID).getTextInfos(nodeNames[a]);
  134.             trace("checkForUnicode: " + eval("rowObj"+this.ID).getTextInfos(nodeNames[a]));
  135.            
  136.         }
  137.                
  138.     }
  139. }


5. Testergebnis (trace)
-------------------------

ActionScript:
  1. 0.Durchgang: tempClipString:  undefined
  2. 0.Durchgang: tempTitleString:  undefined
  3. 0.Durchgang: tempFieldString:  undefined
  4. Test vorher: undefined
  5. Test vorher: undefined
  6. Test vorher: undefined
  7. Test nachher: undefined
  8.  
  9. //Beim ersten Mal clicken
  10.  
  11.  
  12. Test nachher: undefined
  13. Test nachher: undefined
  14. 1.Durchgang: tempClipString:  undefined
  15. 1.Durchgang: tempTitleString:  undefined
  16. 1.Durchgang: tempFieldString:  undefined
  17. Test vorher: undefined
  18. Test vorher: undefined
  19. Test vorher: undefined
  20. Test nachher: undefined
  21. Test nachher: undefined
  22. Test nachher: undefined
  23. 2.Durchgang: tempClipString:  undefined
  24. 2.Durchgang: tempTitleString:  undefined
  25. 2.Durchgang: tempFieldString:  undefined
  26. Test vorher: undefined
  27. Test vorher: undefined
  28. Test vorher: undefined
  29. Test nachher: undefined
  30. Test nachher: undefined
  31. Test nachher: undefined
  32. 3.Durchgang: tempClipString:  undefined
  33. 3.Durchgang: tempTitleString:  undefined
  34. 3.Durchgang: tempFieldString:  undefined
  35. Test vorher: undefined
  36. Test vorher: undefined
  37. Test vorher: undefined
  38. Test nachher: undefined
  39. Test nachher: undefined
  40. Test nachher: undefined
  41. 4.Durchgang: tempClipString:  undefined
  42. 4.Durchgang: tempTitleString:  undefined
  43. 4.Durchgang: tempFieldString:  undefined
  44. Test vorher: undefined
  45. Test vorher: undefined
  46. Test vorher: undefined
  47. Test nachher: undefined
  48. Test nachher: undefined
  49. Test nachher: undefined
  50.  
  51.  
  52.  
  53. //beim zweiten Mal clicken
  54.  
  55. 0.Durchgang: tempClipString: idBack
  56. 0.Durchgang: tempTitleString: idTitle
  57. 0.Durchgang: tempFieldString: idField
  58. Test vorher: idBack
  59. Test vorher: idTitle
  60. Test vorher: idField
  61. Test nachher: undefined
  62. Test nachher: undefined
  63. Test nachher: undefined
  64. 1.Durchgang: tempClipString: artistsBack
  65. 1.Durchgang: tempTitleString: artistsTitle
  66. 1.Durchgang: tempFieldString: artistsField
  67. Test vorher: artistsBack
  68. Test vorher: artistsTitle
  69. Test vorher: artistsField
  70. Test nachher: undefined
  71. Test nachher: undefined
  72. Test nachher: undefined
  73. 2.Durchgang: tempClipString: locBack
  74. 2.Durchgang: tempTitleString: locTitle
  75. 2.Durchgang: tempFieldString: locField
  76. Test vorher: locBack
  77. Test vorher: locTitle
  78. Test vorher: locField
  79. Test nachher: undefined
  80. Test nachher: undefined
  81. Test nachher: undefined
  82. 3.Durchgang: tempClipString: agBack
  83. 3.Durchgang: tempTitleString: agTitle
  84. 3.Durchgang: tempFieldString: agField
  85. Test vorher: agBack
  86. Test vorher: agTitle
  87. Test vorher: agField
  88. Test nachher: undefined
  89. Test nachher: undefined
  90. Test nachher: undefined
  91. 4.Durchgang: tempClipString:  undefined
  92. 4.Durchgang: tempTitleString:  undefined
  93. 4.Durchgang: tempFieldString:  undefined
  94. Test vorher: undefined
  95. Test vorher: undefined
  96. Test vorher: undefined
  97. Test nachher: undefined
  98. Test nachher: undefined
  99. Test nachher: undefined




6. Bemerkung
-------------------
bitte kritisiert mein code nicht, ich weiss es gehe auch ein bisschen besser und professioneller, aber ich will das projekt mal fertig bringen, so das alles geht und dann verbessere ich meinen code, ich bin schon über 6 monate an diesem projekt, möchte es endlich beenden.
pixelarts ist offline   Mit Zitat antworten
Alt 13-04-2005, 16:33   #2 (permalink)
flash student
 
Benutzerbild von pixelarts
 
Registriert seit: Apr 2005
Ort: Schweiz, Zürich
Beiträge: 527
Ps: Tut mir leid für firefox user, der obere eintrag wird nur im ie richtig angezeigt (zumindest bei mir mit ff1.0)
pixelarts ist offline   Mit Zitat antworten
Alt 13-04-2005, 17:35   #3 (permalink)
Rübennase
 
Benutzerbild von thomiko
 
Registriert seit: Dec 2003
Ort: Niederrhein
Beiträge: 291
Für Opera-Benutzer sieht's auch ein bisschen unharmonisch aus ... wie hast Du denn das hingekriegt??

Gruß,

Thomas
thomiko 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 03:17 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele