Thanks Carl for all your help and effords, I really appreciate it!
This is my code, I have one long MovieClip in the library exported for ActionScript as MC but with one
difference, instead of use the "flash.display.MovieClip" I extend it and use "flash.display.Sprite" class.
My notes are both in Swedish and English, so I hope you don't get confused.
Best Regards
Mikael
Sweden
My Code:
import com.greensock.*;
import flash.events.MouseEvent;
import com.greensock.plugins.*;
import com.greensock.easing.*;
import flash.geom.Rectangle;
import flash.utils.getTimer;
import flash.text.*;
import flash.display.*;
TweenPlugin.activate([ThrowPropsPlugin]);
//*****************************( x y W H
var bounds:Rectangle = new Rectangle(30,30,400,700);
//Kom ihåg att göra om MC i "Library" under "Export for ActionScript" till "flash.display.Sprite".
var mc:MC = new MC(); //i stället för att köra på "default" "Export for ActionScript" till "flash.display.MovieClip".
mc.x = 30;
mc.y = 30;
addChild(mc);
//some variables for tracking the velocity of mc
var t1:uint,t2:uint,y1:Number,y2:Number;
mc.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
function mouseDownHandler(event:MouseEvent):void
{
TweenLite.killTweensOf(mc);
y1 = y2 = mc.y;
t1 = t2 = getTimer();
//**************************( x y W H
mc.startDrag(false, new Rectangle(bounds.x, -20000, 0, 30000));
mc.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
mc.stage.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
}
function enterFrameHandler(event:Event):void
{
//track velocity using the last 2 frames for more accuracy
y2 = y1;
t2 = t1;
y1 = mc.y;
t1 = getTimer();
}
function mouseUpHandler(event:MouseEvent):void
{
mc.stopDrag();
mc.stage.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
mc.removeEventListener(Event.ENTER_FRAME, enterFrameHandler);
var time:Number = (getTimer() - t2) / 1000;
var yVelocity:Number = (mc.y - y2) / time;
var yOverlap:Number = Math.max(0,mc.height - bounds.height);
ThrowPropsPlugin.to(mc, {ease:Strong.easeOut, throwProps:{y:{velocity:yVelocity, max:bounds.top, min:bounds.top - yOverlap, resistance:300}}}, 1, 0.25, 1);
}