Veröffentlichungsversion 6+7

ouagadugu

Mitglied
Hallo Zusammen,
hab vor einiger Zeit aus einer geposteten fla Datei ein Prototyp übernommen und etwas umgebaut und für mich angepasst. Funktioniert auch genau wie ich es mir vorstelle, mit einer Einschränkung: nur bei Veröffentlichung in FlashPlayer Version 6. Nun habe ich aber auf meiner geplanten Seiten auch swf Dateien, die nur in Version 7 laufen und vermute, dass das Prototype Script etwas anders geschrieben werden müsste.
Hab schon einiges ausprobieret, bekomme es aber bei Veröffentlichung unter 7 nicht zum laufen. Ich benutze Flash MX 2004 / 7.2
Hoffe jemand kann mir helfen
michel

PHP:
// auf der Haupzeitleiste
MovieClip.prototype.aufziehen = function(target, koliko, convert) {
	xs = xs*koliko+(target-this._xscale)*convert;
	ys = ys*koliko+(target-this._yscale)*convert;
	this._xscale += xs;
	this._yscale += ys;
};
PHP:
//  auf dem _mc
onClipEvent (enterFrame) {
	if (this.hitTest(_root._xmouse,_root._ymouse,false)) {
		aufziehen (150,0.9,0.1)
	}else{
		aufziehen (100,0.9,0.1)
	}

}
 
Hi,

in Flash 7 sind nicht deklarierte Variablen zunächst undefiniert. Wenn Du auf solchen Variablen Rechenoperationen durchführst, bekommst Du den Wert "NaN".

Versuch es mal so:
PHP:
MovieClip.prototype.aufziehen = function(target, koliko, convert) {
    if (this.xs == undefined) this.xs = 0;
    if (this.ys == undefined) this.ys = 0;
    this.xs = this.xs * koliko + (target - this._xscale) * convert;
    this.ys = this.ys * koliko + (target - this._yscale) * convert;
    this._xscale += this.xs;
    this._yscale += this.ys;
}

Gruß
.
 
bei mir gehts. Wahrscheinlich hast Du einen Tippfehler (= statt == oder sowas). ;)

Gruß

P.S.: Solltest Du den Code per Copy&Paste in Flash übertragen haben: Ich ersetze hier im Forum Tabstopps durch 4 Leerzeichen. Flash MX2004 hat damit öfters mal Probleme und gibt Fehlermeldungen aus.
.
 
Zuletzt bearbeitet:
Datic,
besten Dank, habs zuerst tatsächlich mit copy+paste verwendet. Beim abtippen gings erst auch nicht, haben paar { } gefehlt. Jetzt hab ichs aber und alles passt.
Ist eigentlich auch ein pfiffiges Menu geworden

PHP:
MovieClip.prototype.aufziehen = function(target, koliko, convert) {
	if (this.xs == undefined) {
		this.xs = 0;
	}
	if (this.ys == undefined) {
		this.ys = 0;
	}
	this.xs = this.xs*koliko+(target-this._xscale)*convert;
	this.ys = this.ys*koliko+(target-this._yscale)*convert;
	this._xscale += this.xs;
	this._yscale += this.ys;
};

Gruß
michel
 

Anhänge

  • bsp.zip
    8,7 KB · Aufrufe: 14
Hi,

prima! ... aber das wundert mich schon: Eigentlich sind bei einzeiligen Statements nach "if" durchaus keine Klammern nötig.

Gruß
.
 
Zurück