Fast alle Versionen des Flash-Players scheinen sehr schlecht programmiert und fast gar
nicht auf PPC optimiert worden zu sein. Daher ist man mit einer CPU, die locker einen
doppelt getakteten x86-Kollegen von AMD/Intel schlägt, auch nicht immer glücklich,
was Flash angeht. Mit dem 1GHz G4 bin ich eigentlich zufireden, auch wenn es besser
ginge. Die richtig fetten Flash-Sites sind ja noch im Kommen und werden demnächst
vielleicht auch meine CPU überfordern.
Außerdem kommt es auf den Stil des Entwicklers an. Wenn man einen Flash-Film mit
sehr vielen großen, skalierten Objekten macht, kann das schon sehr schnell an die
Grenze kommen - auch mit einem aktuellen Prozessor. Dort gibt es
Scriptingmöglichkeiten, die einem ein Überfordern
jeder CPU ermöglichen.
Ein kleines Beispiel ist die folgende SWF mit automatischem Ablauf:
FS-Stars_auto
Mit dem eigentlichen Zweck, nämlich MouseFollow:
FS-Stars
Source:
PHP:
// Klasse (Eigenschaften und Methoden)
function Sterne() {
this._x = _root._xmouse;
this._y = _root._ymouse;
this.pFaktor = .95; //STREUUNG Standard: .95
this.aFaktor = 0.2; //Geschw. der Aplha-Ausblendung, Standard: 0.2
this.pX = 0;
this.pY = 0;
this.onEnterFrame = function() {
this._x += this.pX;
this._y += this.pY;
this.pX += Math.random()*2-1;
this.pY += Math.random()*2-1;
this.pX *= this.pFaktor;
this.pY *= this.pFaktor;
this._alpha -= this.aFaktor;
if (this._x>Stage.width || this._x<0 || this._y>Stage.height || this._y<0 || this._alpha<1) {
this.removeMovieClip();
}
};
}
// Filmsequenz Eigenschaften der Klasse Punkt vererben
Sterne.prototype = new MovieClip();
// MovieClip SternClip mit den Fähigkeiten der Klasse Punkt versehen
Object.registerClass("sClip", Sterne);
minAbstand = 5;
// Mausbewegung - Sternenschweif
this.onMouseMove = function() {
var diffX = this._xmouse-posX;
var diffY = this._ymouse-posY;
var abstand = Math.sqrt(diffX*diffX+diffY*diffY);
if (abstand>minAbstand) {
attachMovie("sClip", "stern_mc"+i, i++);
posX = this._xmouse;
posY = this._ymouse;
}
updateAfterEvent();
};