localToLocal坐标变换
$(function() {
init();
});
// localtoLocal var stage, arm, handler; function init(e) { stage = new createjs.Stage('demo1'); target = stage.addChild(new createjs.Shape());
target.graphics.beginFill('red').drawCircle(0,0,45)
.beginFill('white').drawCircle(0,0,30)
.beginFill('red').drawCircle(0,0,15);
target.x = 100;
target.y = 180; arm = stage.addChild(new createjs.Shape());
arm.graphics.beginFill('black').drawRect(-2,-2,100,4)
.beginFill('blue').drawCircle(100,0,30); // 把这个圆的半径放大,可以看出暂停的时候是此圆心与另外一个圆边界相交的时候;
arm.x = 180;
arm.y = 100; createjs.Ticker.addEventListener('tick',tick); // plan1
// handler = createjs.Ticker.on('tick',tick); // plan2
}
function tick(event) {
arm.rotation += 5; target.alpha = 0.2;
var pt = arm.localToLocal(100,0,target); // 100,0 的坐标是arm中圆心的坐标
if(target.hitTest(pt.x,pt.y)){
console.log(pt);
target.alpha = 1;
// createjs.Ticker.removeEventListener('tick',tick); // plan1
// createjs.Ticker.off('tick',handler); // plan2
createjs.Ticker.removeAllEventListeners(); // plan1,plan2 都可以
}
stage.update(event);
}