Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 23-01-2006, 17:24   #1 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 181
Schleife unterbrechen oder Anhalten

Hallo,

mit viel Mühe habe ich das untere Script erzeugt. Nun habe ich bei erfolgreich geladener XML Datei eine for-Schleife eingebaut, welche alle Bilder der Reihe nach in den Film laden soll. Das Problem ist, dass natürlich alle Bilder sofort geladen werden ohne das weitere Aktionen möglich sind und es wird sofort das letztgeladenen Bild angezeigt.

Nun suche ich nach einer Möglichkeit, die Schleife für eine gewisse Zeit (ca. 10 Sekunden) zu unterbrechen sodass dann ein und Ausblendfunktionen erfolgen können. Vielleicht weiss ja jemand Rat.

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;
Stage.scaleMode "showAll";
//--> Laden der XML-File
xml.onLoad = function (success:Boolean)
{
    if (
success)
    {
        var 
xmlBild;
        var 
interval:Number;
        var 
i:Number;
        
xmlBild this.firstChild.childNodes;
        for (
030i++)
        {
            
loadImage (xmlBildi);
        }
    }
    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 (50);
kratzer_mc.swapDepths (40);
function 
loadImage (v:Stringbild:Number):Void
{
    
_root.createEmptyMovieClip ("holder"1);
    var 
loadListener:Object = new Object ();
    var 
mcLoader:MovieClipLoader = new MovieClipLoader ();
    
mcLoader.loadClip (v[bild].attributes.bildpfad1);
    
loadListener.onLoadInit = function (target_mc:MovieCliphttpStatus:Number)
    {
        
target_mc._x = ((Stage.width 2) - (target_mc.getBounds ().xMax target_mc.getBounds ().xMin) / 2);
        
target_mc._y = ((Stage.height 2) - (target_mc.getBounds ().yMax target_mc.getBounds ().yMin) / 2);
        
target_mc._alpha 0;
        
target_mc.swapDepths (1);
        
target_mc.onEnterFrame = function ()
        {
            if (
this._alpha 100)
            {
                
this._alpha += 5;
            }
        };
    };
    
mcLoader.addListener (loadListener);

vieln Dank
__________________
Gruß Michael
xoos ist offline   Mit Zitat antworten
Alt 23-01-2006, 17:32   #2 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Da hast du auf die schnelle (hab den Code nicht angeguckt) eigentlich zwei Möglichkeiten: Du löst den nächsten FadeOut aus, wenn der vorherige FadeIn fertig ist oder du arbeitest mit Intervallen!
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 23-01-2006, 19:01   #3 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 181
Also das mit dem Interval bekomm ich irgendwie nicht hin. hier mal der Code. eswird immer nur ein Bild geladen:

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;
Stage.scaleMode "showAll";
//--> Laden der XML-File
xml.onLoad = function (success:Boolean)
{
    if (
success)
    {
        var 
xmlBild;
        var 
interval:Number;
        var 
i:Number;
        
_global.zähler 0;
        
_global.interval;
        
xmlBild this.firstChild.childNodes;
        
onEnterFrame = function ()
        {
            if (
zähler 30)
            {
                
interval setInterval (loadImage (xmlBildzähler), 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 (50);
kratzer_mc.swapDepths (40);
function 
loadImage (v:Stringbild:Number):Void
{
    
_root.createEmptyMovieClip ("holder"1);
    var 
loadListener:Object = new Object ();
    var 
mcLoader:MovieClipLoader = new MovieClipLoader ();
    
mcLoader.loadClip (v[bild].attributes.bildpfad1);
    
loadListener.onLoadInit = function (target_mc:MovieCliphttpStatus:Number)
    {
        
target_mc._x = ((Stage.width 2) - (target_mc.getBounds ().xMax target_mc.getBounds ().xMin) / 2);
        
target_mc._y = ((Stage.height 2) - (target_mc.getBounds ().yMax target_mc.getBounds ().yMin) / 2);
        
target_mc._alpha 0;
        
target_mc.swapDepths (1);
        
target_mc.onEnterFrame = function ()
        {
            if (
this._alpha 80)
            {
                
this._alpha += 5;
            }
            else
            {
                
delete this.onEnterFrame;
            }
        };
    };
    
mcLoader.addListener (loadListener);
    
clearInterval(interval);
    
zähler++;

__________________
Gruß Michael
xoos ist offline   Mit Zitat antworten
Alt 23-01-2006, 20:52   #4 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
also... nimm für den Interval ein Wort, welches nicht so nahe an einem geschützten ist! Ausserdem definier den Intervall als globale Variable, ansonsten ist die Variable nur innerhalb der Funktion ansprechbar und sobald diese beendet ist und von aussen angesprochen werden soll (also durch die 2. Funktion) nicht mehr verfügbar!
__________________
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 04:16 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele