Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 13-03-2007, 19:25   #1 (permalink)
Bamboocha
 
Benutzerbild von CrazyMind
 
Registriert seit: Jan 2006
Ort: Schweiz
Beiträge: 69
XML, MovieClip und eine for schlaufe

Hallo zusammen.
Ich stecke fest. Weiss nicht mehr weiter könntet Ihr mir vielleicht helfen

Und zwar geht es darum, das ich verschiedene Bilder aus einer XML datei Lade(pfad) und dann möchte ich, wenn man auf dieses Bild drückt, das die restlichen Daten aus dem XML des betroffene scripts ausgespuckt werden.

Das problem ist, das ich nicht weiss wie ich die verbindung zu dem childNodes bekomme. Denn i kann man ja dann nicht mehr brauchen, well dieses durchläuft und wenn man ein Button drück i am ende angekommen ist.

PHP-Code:
for (var 0XMLdaten.firstChild.childNodes.length>ii++) {
            var 
loadListener:Object = new Object();
            var 
mcMember:MovieClip _level0.bgMember.createEmptyMovieClip("mcMember"+i_level0.bgMember.getNextHighestDepth());
            
mcMember._x x_pos;
            
mcMember._y y_pos;
            
mcMember._yscale 15;
            
mcMember._xscale 15;
            
mcMember._alpha 100;
            
            var 
mcLoader:MovieClipLoader = new MovieClipLoader();
            
mcLoader.addListener(this);
            
mcLoader.loadClip(XMLdaten.firstChild.childNodes[i].attributes.imgmcMember);
            
mName.push(XMLdaten.firstChild.childNodes[i].attributes.name);
                    
trace(mName[2]);
            
loadListener.onLoadInit = function(mcLoader):Void  {
                
/* PROBLEM BEGINNT HIER*/
                
mcLoader.onRelease = function(){
                    
/* Hier sollte man dann die Daten das Users aufrufen können*/
                
}
            };
/* PROBLEM IST HIER ZUENDE*/        
            
mcLoader.addListener(loadListener);
            
x_pos += 120;
            
counter += 1;
            if (
counter == 3) {
                
y_pos += 120;
                
x_pos 0;
                
counter 0;
            }
        } 
__________________
Wer kämpft kann verlieren. Wer nicht kämpft hat schon verloren.
CrazyMind ist offline   Mit Zitat antworten
Alt 13-03-2007, 19:39   #2 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Ich denke mal das du das meinst...
PHP-Code:
for( var iNumber 05i++ )
{
    var 
mcMovieClip attachMovie"bild""b" i);
    
// einfach den Wert von i speichern
    
mc.i;
    
mc.onRelease = function()
    {
         
tracethis.);
    }

__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 14-03-2007, 18:21   #3 (permalink)
Bamboocha
 
Benutzerbild von CrazyMind
 
Registriert seit: Jan 2006
Ort: Schweiz
Beiträge: 69
Habe es so probiert wie du es gemeint hast.
Doch es klappt nicht.
Wenn ich in diesem beispiel mcMember ausspucken lasse, gibt er mir nur den letzte kreierte MC aus.
PHP-Code:
//...
var mcMember:MovieClip _level0.bgMember.createEmptyMovieClip("mcMember"+i_level0.bgMember.getNextHighestDepth());
            var 
mcLoader:MovieClipLoader = new MovieClipLoader();
            
mcLoader.addListener(this);
            
mcLoader.loadClip(XMLdaten.firstChild.childNodes[i].attributes.imgmcMember);
            
mcMember.i;
                    
            
loadListener.onLoadInit = function(mcLoader):Void  {
                
trace(mcMember);
                
mcMember.onRelease = function()
                {
                     
tracethis.);
                };
            }
            
mcLoader.addListener(loadListener);
//... 
auf diese art und weise ist nur das letze mc klickbar, aber selbst dort gibt er bi this.i undefined aus.
Weiss jemand rat?


Gibt es ansonsten eine einfachere möglichkeit bilder darzustellen?
__________________
Wer kämpft kann verlieren. Wer nicht kämpft hat schon verloren.
CrazyMind ist offline   Mit Zitat antworten
Alt 14-03-2007, 21:22   #4 (permalink)
liebt Skorpionin
 
Benutzerbild von Skorpion
 
Registriert seit: Apr 2003
Beiträge: 1.258
hi CrazyMind

Warum schreibst du nun plötzlich

Code:
mcMember.onRelease = function()
im Eröffnungsthread hattest du noch:

Code:
mcLoader.onRelease = function()
und das war auch richtig. Denn mcMember gehört - genau wie i - zur Gattung der kurzlebigen Wesen.
Skorpion ist offline   Mit Zitat antworten
Alt 14-03-2007, 22:06   #5 (permalink)
Bamboocha
 
Benutzerbild von CrazyMind
 
Registriert seit: Jan 2006
Ort: Schweiz
Beiträge: 69
Wenn ich das ganze so schreibe dann bringt er mir eine Fehlermeldung, das keine eigenschaft mit i vorhanden ist:
PHP-Code:
var mcMember:MovieClip _level0.bgMember.createEmptyMovieClip("mcMember"+i_level0.bgMember.getNextHighestDepth());
            var 
mcLoader:MovieClipLoader = new MovieClipLoader();
            
mcLoader.addListener(this);
            
mcLoader.loadClip(XMLdaten.firstChild.childNodes[i].attributes.imgmcMember);
            
        
mcLoader.i;
            
loadListener.onLoadInit = function(mcLoader):Void  {
                
                
mcLoader.onRelease = function()
                {
                     
tracethis.);
                };
            } 
Wenn ich das mcLoader.i = i in denn loadListener.onLoadInit rein schreibe mekert er zwar nicht, aber dann ist i immer nur 6.
__________________
Wer kämpft kann verlieren. Wer nicht kämpft hat schon verloren.
CrazyMind ist offline   Mit Zitat antworten
Alt 14-03-2007, 22:23   #6 (permalink)
liebt Skorpionin
 
Benutzerbild von Skorpion
 
Registriert seit: Apr 2003
Beiträge: 1.258
Hab mir deinen Code etwas genauer angeschaut - er sieht irritierend aus: man könnte meinen, der onLoadInit-Methode würde eine MovieClipLoader-Instanz übergeben. Stimmt aber nicht, es wird eine Instanz auf den geladenen Clip übergeben.

Da selbstgemachte Eigenschaften in einem MovieClip bei einem Ladevorgang leider gelöscht werden, würde ich einen kleinen Trick anwenden: die Variable i in _x merken, und nach dem laden umkopieren:


PHP-Code:
mcMember._x i;
                    
loadListener.onLoadInit = function(zielClip):Void
{
    
zielClip.zielClip._x;
    
zielClip.onRelease = function()
    {
        
tracethis.);
    }

Gruss - Skorpion
Skorpion 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 14:00 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele