Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21-01-2006, 21:53   #1 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 181
Probleme mit geladenen Bildern

Hallo,

schon wieder ein Problem!!
im folgen script lade ich eine XML. Dort sind bildpfade definiert. Über loadMovieClip(), lade ich dann diese bilder in ein MC, welchen ich als Instanz mit dem Namen "image_mc" auf der Bühne erstellt habe.

Das laden und so weiter klappt sehr gut. Nur reagiert dann das Bild nicht mehr auf die Anweisungen in der onEnterFrame Funktion bzw. führt diese Angaben lediglich 1 mal aus. Ich ging immer davon aus, dass onEnterFrame bei jedem Bildaufruf aufgerufen und ausgeführt wird. Die anderen onEnterFrame Funktionen weiter untern funtionieren einwandfrei.

PHP-Code:
var posX:Number;
var 
posY:Number;
var 
xScale:Number;
var 
yScale:Number;
var 
alpha:Number;
var 
ms:Number 30000;
var 
xml:XML;
xml = new XML ();
xml.ignoreWhite true;
//--> Laden der XML-File
xml.onLoad = function (success)
{
    if (
success)
    {
        var 
i:Number;
        var 
xmlBild;
        
xmlBild this.firstChild.childNodes;
        
image_mc.onEnterFrame = function ()
        {
            
this.loadMovie (xmlBild[1].attributes.bildpfad1);
            
this._alpha -= 5;
            
this._x += 100;
        };
    }
    else
    {
        
trace ("Fehler");
    }
};
xml.load ("bilder.xml");
faden_mc.onEnterFrame = function ()
{
    
posX Math.random () * 800;
    
posY 300;
    
xScale Math.random () * 15;
    
alpha Math.random () * 100;
    
this._x posX;
    
this._y posY;
    
this._xscale xScale;
    
this._alpha alpha;
};
kratzer_mc.onEnterFrame = function ()
{
    
posX Math.random () * 800;
    
posY Math.random () * 400;
    
xScale Math.random () * 50;
    
alpha Math.random () * 100;
    
this._x posX;
    
this._y posY;
    
this._xscale xScale;
    
this._alpha 35;
};
faden_mc.swapDepths (5);
kratzer_mc.swapDepths (4); 
__________________
Gruß Michael
xoos ist offline   Mit Zitat antworten
Alt 21-01-2006, 22:45   #2 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Beiträge: 1.244
Hi,

mach mal hier ein trace :

PHP-Code:
image_mc.onEnterFrame = function ()
        {
            
this.loadMovie (xmlBild[1].attributes.bildpfad1);
            
this._alpha -= 5;
            
this._x += 100;
trace("enter")
        }; 
Du mußt dieses onEnterFrame delete setzten, wenn das Bild geladen ist.
__________________
Mfg aus Brandenburg.

harego

Spiel

Zur Page
harego ist offline   Mit Zitat antworten
Alt 22-01-2006, 08:46   #3 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 181
Wie vermutet wird dasTrace nur einmal ausgeführt. AUch das Einfügen eines deletes zeigt keine Wirkung.
__________________
Gruß Michael
xoos ist offline   Mit Zitat antworten
Alt 22-01-2006, 09:51   #4 (permalink)
Herr Brot
 
Benutzerbild von mati
 
Registriert seit: Dec 2002
Beiträge: 1.692
durch das loadMovie(...) wird das onEnterFrame Event gelöscht. du musst also einen Holder-MovieClip machen, in den die Bilder geladen werden.

vom prinzip so, wie ich es hier beschrieben habe: dynamisch erzeugte schalltflächen

wenn du die suche zu dem thema bemühst, wirst du einiges dazu finden. suchworte wie "holder" dürften zum gewünschten ergebnis führen.
__________________
„Ich war geheilt, all right!“
mati ist offline   Mit Zitat antworten
Alt 22-01-2006, 11:39   #5 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 181
Jo, das aht geklappt, DANKE

doch nun wieder ein anderes Problem. irgendwie haut das mit dem setInterval() nicht mehr hin zu hauen.

PHP-Code:
var posX:Number;
var 
posY:Number;
var 
xScale:Number;
var 
yScale:Number;
var 
alpha:Number;
var 
ms:Number 30000;
var 
xml:XML;
xml = new XML ();
xml.ignoreWhite true;
//--> Laden der XML-File
xml.onLoad = function (success:Boolean)
{
    if (
success)
    {
        var 
i:Number;
        var 
xmlBild;
        var 
interval:Number;
        
xmlBild this.firstChild.childNodes;
        
interval setInterval (loadImage (xmlBildinterval0), 10000);
        
// loadImage (xmlBild, 2, 1);
    
}
    else
    {
        
trace ("Fehler");
    }
};
xml.load ("bilder.xml");
faden_mc.onEnterFrame = function ()
{
    
posX Math.random () * 800;
    
posY 300;
    
xScale Math.random () * 15;
    
alpha Math.random () * 100;
    
this._x posX;
    
this._y posY;
    
this._xscale xScale;
    
this._alpha alpha;
};
kratzer_mc.onEnterFrame = function ()
{
    
posX Math.random () * 800;
    
posY Math.random () * 400;
    
xScale Math.random () * 50;
    
alpha Math.random () * 100;
    
this._x posX;
    
this._y posY;
    
this._xscale xScale;
    
this._alpha 35;
};
faden_mc.swapDepths (5);
kratzer_mc.swapDepths (4);
function 
loadImage (v:Stringintervalbild:Number)
{
    var 
holder:MovieClip;
    
holder createEmptyMovieClip ("MCholder" bild1);
    
holder.createEmptyMovieClip ("pic"1);
    
holder.pic.loadMovie (v[bild].attributes.bildpfad);
    
holder._alpha 0;
    
holder.onEnterFrame = function ()
    {
        
this._alpha += 5;
    };
    
clearInterval (interval);

__________________
Gruß Michael
xoos ist offline   Mit Zitat antworten
Alt 22-01-2006, 17:04   #6 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Das Problem ist, dass du den Intervall als Variable in einer Funktion definierst. Nach dem die Funktion beendet ist, sind auch die Variablen daraus nicht mehr verfügbar, die Referenz auf den Intervall wird also gelöscht und ist folglich nicht mehr über diesen löschbar! Definier den Intervall als globale Variable, dann ist dieser auch später ansprech- und löschbar!
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha 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 02:46 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele