Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 22-01-2006, 13:26   #1 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 181
Nachlade- & Positionsproblem Externe Bilder

Im nachfolgenden Script lade ich via XML Bilder in einen Holder Clip und lasse diese dann mit einem onEnterFrame Event einblenden.

Nun funktioniert das bisher sehr gut, doch gibt es noch 2 Probleme. Das erste ist die Position des Bildes. diese sollte sich in der Mitte der Bühne befinden. Doch wenn ich mit "(getBounds().xMax - getBounds().xMin) /2" die Mitte des Bildes errechnen will und diese in einem trace() ausgebe, bekomme ich den Wert "0".
Die Ermittlung der Bühnenmitte funktioniert einwandfrei. das Bild wird also derzeit mit der linken oberen Ecke in der Mitte der Bühne plaziert.

Das zweite Problem ist das nachladen der anderen Bilder. ich muss ca. 160 Bilder nacheinander laden, diese einblenden, ca.10 Sek. anzeigen lassen und diese dann wieder ausblenden. Das ganze dann Bild für Bild. Ich habe es mit einer Funktion und einem setInterval() versucht, aber das scheint nicht so ganz hinzuhauen.

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 
i:Number;
        var 
xmlBild;
        var 
interval:Number;
        
xmlBild this.firstChild.childNodes;
        
interval setInterval (loadImage (xmlBildinterval0), 10000);
    }
    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):Void
{
    var 
holder:MovieClip;
    var 
imageBoundsWidth:Number;
    var 
imageBoundsHeight:Number;
    var 
stageBoundsWidth:Number;
    var 
stageBoundsHeight:Number;
    var 
xPos:Number;
    var 
yPos:Number;
    
holder createEmptyMovieClip ("MCholder" bild1);
    
holder.createEmptyMovieClip ("pic"1);
    
holder.pic.loadMovie (v[bild].attributes.bildpfad);
    
holder._alpha 0;
    
imageBoundsWidth = (holder.getBounds ().xMax holder.getBounds ().yMin) / 2;
    
imageBoundsHeight = (holder.getBounds ().yMax holder.getBounds ().yMin) / 2;
    
stageBoundsWidth Stage.width 2;
    
stageBoundsHeight Stage.height 2;
    
xPos stageBoundsWidth imageBoundsWidth;
    
yPos stageBoundsHeight imageBoundsHeight;
    
// trace (stageBoundsWidth + " image: " + imageBoundsWidth);
    
holder._x xPos;
    
holder._y yPos;
    
holder.onEnterFrame = function ()
    {
        
this._alpha += 5;
    };
    
clearInterval (interval);

Vielleicht kann mit jemand andere Lösungsansätze aufzeigen. Das wäre sher gut. Danke
Angehängte Dateien
Dateityp: zip Film.zip (7,3 KB, 11x aufgerufen)
__________________
Gruß Michael
xoos ist offline   Mit Zitat antworten
Alt 22-01-2006, 13:45   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hallo!
Wie immer muss da ein Preloader rein (oder du nimmst einen MovieClipLoader). Erst wenn das Bild geladen ist, kannst du auch auf die Eigenschaften wie Breite, Höhe etc. zugreifen. Außerdem erscheint es mir wenig sinnvoll, den Intervall nach dem Laden eines Bildes zu löschen.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager 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 01:19 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele