Flash Player 8 u. 9 OK 6 u. 7 Fehler.

liquidbeats

Erfahrenes Mitglied
Hallo,

ich hab da mal eine Frage. Ich Arbeite mit Flash 8. Habe dort eine kleine Ladesequenz erstellt, die in dem Player Version 8 und 9 Funktionert, bei 7 und 6 bspw. geht es jedoch garnicht. Das Interesannt dabei ist das ich dden Film bspw. für Flash 6, 7 und 8 Exportiere und er mir keine Fehler meldet. Erst wenn ich versuche auf Flash 5 zu Exportieren gibt es Fehler, wo ich daraufhingeweisen werden, dass diese erst ab Flash 6 zur verfügung stehen würden.

Gibt es eventuell Interpretationsfehler im Quelltext die es einem alten Flash Player nicht ermöglichen das richtig verarbeiten zu können?

Hier mal der Actionscript.
Code:
this.init();
for (var i = 1; i<=3; i++) {
    init(i);
}
function init(i) {
    small_i = this["smallImage"+i];    
    var con = small_i.container;
    con.loadMovie(_root.rootDir+"artikel/"+_root.model+"/Bild"+_root.model+"_"+i+".jpg");
    small_i.onEnterFrame = function() {
        this.COUNTER+=1;
        if(this.COUNTER>=(25*5)){
            this._visible = false;
            delete this.onEnterFrame;
        }
        if (con._width>0 && con._height>0) {
            var new_height = 92;
            var new_width = ((con._width/con._height)*new_height);
            con._width = new_width;
            con._height = new_height;
            con._alpha = this.CUR_ALPHA;
            if (con._width>138) {
                var new_width = 138;
                var new_height = ((con._height/con._width)*new_width);
                con._width = new_width;
                con._height = new_height;
            }
            con._x = (this._width/2)-(con._width/2);
            con._y = (this._height/2)-(con._height/2);
            // ------------------------------ 
            this.onRollOver = function() {
                loadBigImg(i);
                this.onEnterFrame = function() {
                    this.CUR_ALPHA += 5;
                    this.container._alpha = this.CUR_ALPHA;
                    if (this.CUR_ALPHA>=this.MAX_ALPHA) {
                        this.container._alpha = this.MAX_ALPHA;
                        delete this.onEnterFrame;
                    }
                };
            };
            this.onRollOut = function() {
                this.onEnterFrame = function() {
                    this.CUR_ALPHA -= 5;
                    this.container._alpha = this.CUR_ALPHA;
                    if (this.CUR_ALPHA<=this.MIN_ALPHA) {
                        this.container._alpha = this.MIN_ALPHA;
                        delete this.onEnterFrame;
                    }
                };
            };
            
            // ------------------------------
            delete this.onEnterFrame;
        }
    };
}
loadBigImg(1);
function loadBigImg(i) {

    var bi = bigImage;
    oldCon = bi.con;
    if (oldCon != undefined) {
        oldCon.onEnterFrame = function() {
            this._alpha -= 4;
            if (this._alpha<=0) {
                this.removeMovieClip();
                delete this.onEnterFrame;
            }
        };
    }
    var depth = bi.getNextHighestDepth();
    bi.con = bi.createEmptyMovieClip("container", depth);
    bi.con.swapDepths(depth);
    var con = bi.con;
    con._alpha = 0;
    con.loadMovie(_root.rootDir+"artikel/"+_root.model+"/Bild"+_root.model+"_"+i+".jpg");
    bi.onEnterFrame = function() {
        if (con._width>0 && con._height>0) {
            con._x = (450/2)-con._width/2;
            con._y = (300/2)-con._height/2;
        }
        if (con._alpha<100) {
            con._alpha += 3;
        }
        if (con._width>0 && con._height>0 && con._alpha>=100) {
            delete this.onEnterFrame;
        }
    };
}
function debug(str,ifZ){
    if(ifZ){
        this.test.text += str+"\n";
    }else{
        this.test.text = str+"\n";
    }
}

Grüße
 
Hi,

das einzige was mir auf die Schnelle auffällt, ist die "getNextHighestDepth"-Methode, die erst ab Flashplayer 7 unterstützt wird.

Ansonsten könntest Du noch mal probieren, die Funktionen erst zu deklarieren und dann aufzurufen (sprich: "this.init()" z.B. hinter die Funktion "init" zu setzen).

Gruß
.
 
Hallo Tobias, das habe ich gemacht, auch habe ich Masken deaktiviert. Ohne erfolg.
Ich habe mir auch die Pfade ausgeben lassen, die stimmen alle, es steht nirgendwo undefined o.ä.

Grüße
 
Gibt es da eventuell wegen den Bildern Problemen? Eine anderen Funktion in dem Flashfilm Funktioniert, wo ein Bild geladen wird. Das ist soziemlich die gleiche vorgehensweise. Soweit ich mich noch an Flash MX errinern kann musste man bei JPG´s darauf achten dass diese im Basemode gespeichert werden, oder?

Grüße
 
Hi,

Du könntest es ja mal mit Bildern probieren, die nachgewiesenermaßen im Flashplayer 6 funktionieren. Übrigens: GIF und PNG gehen auch erst ab Flash 8.

Poste bitte mal Deine (lauffähige, das schließt auch einige Bilder ein) Datei (bitte maximal für Flash 8 speichern), dann werfe ich gerne mal einen Blick drauf.

Gruß
.
 
Hallo Tobias,

es läuft jetzt zwar aber sobald die Bilder in einem Ordner namens M001 liegen Funktioniert das nicht. Bei M002 geht es. Rechte usw. ist alles gleich. Das verstehe ich garnicht. Es gibt keine Variable die derart überscchrieben wird oder sonstiges.

Grüße
 
... vielleicht ist dieser Ordnername eine geschützte und undokumentierte Bezeichnung in älteren Flashplayern - wer weiß ... :suspekt:
.
 
Zurück