app.js
var stage,tweens,circleCount=25,activeCount
function init(){
stage=new createjs.Stage("canvas")
createjs.Ticker.setFPS(60)
//createjs.MotionGuidePlugin.install(createjs.Tween)
start()
// createjs.Ticker.addEventListener("tick",tickFn)
}
function start(){
tweens=[]
for (var i = 0; i < circleCount; i++) {
var circle=new createjs.Shape()
circle.graphics.setStrokeStyle(1)
circle.graphics.beginStroke("#113355")
circle.graphics.drawCircle(0,0,(i+1)*4)
circle.compositionOperation="lighter"
var tween=createjs.Tween.get(circle)
.to({x:300,y:200},(0.5+i*0.04)*1500,createjs.Ease.backInOut.call(tweenComplete))
tweens.push({tween:tween,ref:circle})
stage.addChild(circle)
}
activeCount=circleCount
stage.addEventListener("stagemouseup",handlerMouseup)
createjs.Ticker.addEventListener("tick",stage)
function handlerMouseup(e){
for(var i=0;i<circleCount;i++){
var ref=tweens[i].ref
createjs.Tween.get(ref,{override:true})
.to({x:stage.mouseX,y:stage.mouseY},
(0.5+i*0.04)*1500,
createjs.Ease.bounceOut).call(tweenComplete)
}
activeCount=circleCount
}
function tweenComplete(){
activeCount--
}
console.log(activeCount);
}
function tickFn(e){
stage.update()
}
html
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
<script src="lib/easeljs-0.7.1.min.js" charset="utf-8"></script>
<script src="lib/tweenjs-0.5.1.min.js" charset="utf-8"></script>
<script src="lib/MotionGuidePlugin.js" charset="utf-8"></script>
</head>
<body onload="init()">
<canvas id="canvas" width="300" height="300"></canvas>
</body>
<script src="app.js" charset="utf-8"></script>
</html>