globalToLocal的坐标变换
globalToLocal
$(function() { init(); }); // globalToLocal var stage, holder1, holder2,shape; function init(e) { stage = new createjs.Stage('demo1'); holder1 = new createjs.Container(); holder1.x = holder1.y = 10; holder2 = new createjs.Container(); holder2.x = holder2.y = 150; holder1.addChild(holder2); stage.addChild(holder1); shape = new createjs.Shape(); shape.graphics.beginFill('red').rect(10,10,30,30); shape.x = 10; shape.y = 10; shape.alpha = 0.1; holder2.addChild(shape); shape.on('click', shapeClick); var line = new createjs.Shape(); line.graphics.beginStroke('black').moveTo(0, 150).lineTo(300, 150).moveTo(150, 0).lineTo(150, 300); line.graphics.beginStroke('green').moveTo(0, 180).lineTo(300, 180).moveTo(180, 0).lineTo(180, 300); stage.addChild(line); stage.update(); } function shapeClick(event) { var pt = shape.globalToLocal(stage.mouseX, stage.mouseY); console.log('stage.mouseX:'+stage.mouseX+';stage.mouseY:'+stage.mouseY); // 180,180 console.log('pt.x:'+pt.x+';pt.y:'+pt.y); // 10,10 -- 这是相对于(shape.x,shape.y)的坐标; if (stage.mouseInBounds && shape.hitTest(pt.x, pt.y)) { shape.alpha = 1; } stage.update(event); }