Helen,
you just saved my day! I wish you were here and I bought you a brunch!!
best,
ilteris.
On Aug 13, at 8:15 AM, Helen Triolo wrote:
ilteris,
You can't assign a function to the onMotionFinished property (in
the constructor) before the Tween instance has been created (in
openCanvas). Those should be more like:
public function Canvas(timeline:MovieClip, level:Number, y_:Number) {
mc = timeline.attachMovie("canvas", "canvasS", level, {_x:
158, _y:y_, _width:0});
}
public function openCanvas() {
tween1 = new Tween(mc, "_width",
mx.transitions.easing.Strong.easeOut, 0, 673, 3, true);
tween1.onMotionFinished = mx.utils.Delegate.create(this,
mcMotionFinished);
}
Helen
ilteris kaplan wrote:
Dear List,
I am trying to use tween's onMotionFinished method in order to
make use of this, only when I try to call it normally (see
closeCanvas method below) and trace(mc) it traces undefined. So
when I tried to delegate onMotionFinished, I stumbled accross
another problem. This time since tween1 is instantiated insideof
the openCanvas method, delegating it in the constructor doesn't
help at all.
So what should I do to workaround this? Basically I am trying to
trigger an event when the motionFinished.
IS using tween inside classes is a bad habit, should I take the
code to the timeline? I really appreciate advices and helps!!
best,
ilteris.
import mx.transitions.Tween;
class Canvas {
private var tween1:Tween;
private var tween2:Tween;
public var mc:MovieClip;
// Constructor
public function Canvas(timeline:MovieClip, level:Number,
y_:Number) {
mc = timeline.attachMovie("canvas", "canvasS", level, {_x:
158, _y:y_, _width:0});
this.tween1.onMotionFinished = mx.utils.Delegate.create
(this, this.mcMotionFinished);
}
public function openCanvas() {
tween1 = new Tween(mc, "_width",
mx.transitions.easing.Strong.easeOut, 0, 673, 3, true);
mcMotionFinished(); // this doesn't scope to the
class }
public function mcMotionFinished() {
trace(this); // I am assuming this should scope to
// the class only I am not able to call
this method.
}
public function closeCanvas() {
tween2 = new Tween(mc, "_width",
mx.transitions.easing.Strong.easeOut, 673, 0, 2, true);
tween2.onMotionFinished = function() {
trace(mc) // nope, this scope to the tween itself.
// check which one is pressed for next!
}
}
}
_______________________________________________
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com
_______________________________________________
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com