localToLocal坐标变换
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); }