Ich habe den unten aufgeführten Code in einem Forum gelesen, weiß aber nicht, wie ich daraus eine fla mache.
Bräuchte Hilfe
Klasse
Code:
class de.as2.animation.Effects {
public var isRun:Boolean = false;
public var onRunning:Function;
public var onFinish:Function;
private var broadcastMessage:Function;
private var addListener:Function;
private var removeListener:Function;
function Effects () {
AsBroadcaster.initialize (this);
this.addListener (this);
}
//
// disolvePixel (target:MovieClip, holder:MovieClip, pixelSize:Number, duration:Number, useSeconds:Boolean):Void
//
public function disolvePixel (target:MovieClip, holder:MovieClip, pixelSize:Number, duration:Number, useSeconds:Boolean):Void {
target._visible = false;
var ref:Object = this;
var bitmapData:flash.display.BitmapData;
var scaleMatrix:flash.geom.Matrix;
var obj:Object = {};
var mc:MovieClip = holder.createEmptyMovieClip ("__holder", target.getDepth () + 1);
mc._y = target._y;
mc._x = target._x;
var tween:mx.transitions.Tween = new mx.transitions.Tween (obj, "c", mx.transitions.easing.None.easeNone, pixelSize, 0, duration, useSeconds);
tween.onMotionChanged = function () {
ref.isRun = true;
ref.broadcastMessage ("onRunning");
bitmapData = new flash.display.BitmapData (target._width / obj.c, target._height / obj.c, false);
mc.attachBitmap (bitmapData, 1);
scaleMatrix = new flash.geom.Matrix ();
scaleMatrix.scale (1 / obj.c, 1 / obj.c);
bitmapData.draw (target, scaleMatrix);
mc._width = target._width;
mc._height = target._height;
};
tween.onMotionFinished = function () {
ref.broadcastMessage ("onFinish");
ref.isRun = false;
target._visible = true;
mc.removeMovieClip ();
};
}
}
fla:
Code:
var pixel:de.as2.animation.Effects = new de.as2.animation.Effects ();
var mc:MovieClip = con_mc.attachMovie ("ikke_mc", "ikke_mc2", 1);
pixel.onRunning = function () {
trace ("run");
};
pixel.onFinish = function () {
trace ("finish");
};
onMouseDown = function () {
if (!pixel.isRun) {
// disolvePixel (target:MovieClip, holder:MovieClip, pixelSize:Number, duration:Number, useSeconds:Number):Void
pixel.disolvePixel (mc, this, 40, 40, false);
}
};