Zurück   Flashforum > Flash und Server > Flash mit XML und Webservices

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 11-09-2008, 14:55   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2008
Beiträge: 6
dynamisch erstellte buttons verschwinden nicht

hallo alle zusammen,

ich habe ein gallerie , welche die daten extern über ein xmlfile ausliesst.
soweit sogut...
das problem is, das die dynamisch erstellten buttons, beim entladen des movieclips (in den die gallerie geladen wird) auf der bühne bleiben.

genauer...
ich habe einen hauptfilm. durch enien button wird die gallerie geladen.
dann wird durch einen weiteren button eine 2te gallerie geladen und die erste entladen.
beide gallerien erzeugen dybnamische buttons ja nach anzahl der im xmlfile enthaltenen bilder. allerdings bleiben die buttons der ersten gallery auf der bühne und die buttons der 2ten gallery erscheinen darunter...
desweiteren muss ich auch den buttonmovieclip aus den gallerien in die bibliothek des hauptfilms laden, das die buttons überhaupt angezeigt werden.
is doch komisch oder...?!
das script dazu :
PHP-Code:
var myXml:XML = new XML();
myXml.load("raum1.xml");
myXml.ignoreWhite true;
var 
myData:Array;
_root.imageNum 1;
var 
timer:Number 0;
var 
selectedMc:MovieClip;
var 
imgHolder:MovieClip;
var 
s_tf:TextFormat = new TextFormat();
s_tf.color 0xFFFFFF;
var 
tf:TextFormat = new TextFormat();
tf.color 0x666666;
myXml.onLoad = function(success:Boolean):Void  {
    if (
success) {
        
myData this.firstChild.childNodes;
        
createLinks(myData.length);
        
createScreen(myData);
    } else {
        
trace("Dtat not found");
    }
};
function 
createLinks(num:Number):Void {
    var 
back:MovieClip _root.createEmptyMovieClip("linksBack"_root.getNextHighestDepth());
    var 
w:Number = (num*14)+6;
    
createRoundedRect(back00w1730xEFEFEF100);
    
back._x Stage.width-(back._width+5);
    
back._y 4;
    var 
__x:Number Stage.width-(468+8);
    for (var 
numi>0i--) {
        var 
num_mc:MovieClip _root.attachMovie("num""num"+i_root.getNextHighestDepth());
        
num_mc.num.text i;
        
num_mc.back._alpha 0;
        
num_mc._y 235;
        
num_mc._x __x;
        
__x num_mc._x-(14);
        
num_mc.onRelease onPressNum;
    }
    
loadContaents();
}
function 
loadContaents() {
    
_root.loading._visible true;
    
selectedMc._alpha 0;
    
selectedMc._parent.num.setTextFormat(tf);
    
_root["num"+_root.imageNum].back._alpha 100;
    
selectedMc _root["num"+_root.imageNum].back;
    
selectedMc._parent.num.setTextFormat(s_tf);
    
__name.text myData[(_root.imageNum-1)].attributes.name;
    
_id.text "Product # "+myData[(_root.imageNum-1)].attributes.id;
    
_desc.text myData[(_root.imageNum-1)].attributes.desc;
    
holder.link myData[(_root.imageNum-1)].attributes.link;
    var 
loader:MovieClipLoader = new MovieClipLoader();
    var 
listner:Object = new Object();
    
loader.addListener(listner);
    
imgHolder holder.createEmptyMovieClip("holder"0);
    
loader.loadClip(myData[(_root.imageNum-1)].attributes.imgimgHolder);
    
listner.onLoadInit = function(mc:MovieClip):Void  {
        
mc._height 222;
        
mc._width 398;
        
mc._alpha 0;
        
_root.loading._visible false;
        
mc.onEnterFrame = function():Void  {
            
this._alpha += 2;
            if (
this._alpha>=100) {
                
delete this.onEnterFrame;
                
            }
        };
    };
}
function 
loadnext():Void {
    
clearInterval(timer);
    
imgHolder.onEnterFrame = function():Void  {
        
this._alpha -= 2;
        if (
this._alpha<=0) {
            
delete this.onEnterFrame;
            
_root.imageNum _root.imageNum>=myData.length _root.imageNum+1;
            
loadContaents();
        }
    };
}
function 
onPressNum():Void {
    
_root.imageNum Number(this.num.text)-1;
    
loadnext();


die fla hängt auch bei..

bitte bitte kann mir jemand helfen...ich dreh hier noch durch
Angehängte Dateien
Dateityp: rar gallerie.rar (19,0 KB, 2x aufgerufen)
thesensi187 ist offline   Mit Zitat antworten
Alt 11-09-2008, 19:38   #2 (permalink)
Neuer User
 
Registriert seit: Sep 2008
Beiträge: 6
...habs selber lösen können....
hab auf die buttons, welche die gallerien laden folgendes script gelegt :

PHP-Code:
on (press) {
        
num1.removeMovieClip("num_mc");
    
num2.removeMovieClip("num_mc");
    
num3.removeMovieClip("num_mc");

erklärung:
num1, num2, usw. sind die erzeugten buttons
num_mc logischerweise der ziel kontainer

diese lösung funktioniert, ist aber irgendwie nicht zufriedenstellend, da die buttons ja dynamisch je nach anzahl der im xmlfile angegebenen tags erzeugt werden und theoretisch ja mehr als 3 tags = 3 buttons, wie oben im beispiel, angegeben sind.
da es sich bei ,ir um viele klleine gallerien handelt, reicht mir diese lösung erstmal. ich habe bei jedem button num1 bis num10 reingeschrieben egal ob im xmlfile weniger tags stehen.

vielleicht weiss jemand ja ne bessere lösung...?!
würd mich freuen

grüsse sensi
thesensi187 ist offline   Mit Zitat antworten
Alt 09-02-2010, 12:12   #3 (permalink)
Film und Medien
 
Registriert seit: Aug 2005
Ort: Mainz
Beiträge: 200
Hi

Ist zwar etwas spät, aber vielleicht hilft es jemand anderem
Ich hatte ein ähnliches Problem und hab auch hier gesucht, hab es dann aber selbst gelöst.
Ich hab die Buttons per "push" in ein, bei der erstellung der Buttons, erzeugtes array für diese getan habe. So konnte ich gesammelt auf das array und somit auf die Buttons zugreifen.

Schöne Grüße
__________________
Design ist Flash und Flash ist Programmierung. Programmierung ist Mathe und Mathe ist schwer.
Asta 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 09:37 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele