createjs simple hitTest

by Yanan Tian

HTML

<canvas width="400" height="300" id="mineCanvas"></canvas>
<script src="https://code.createjs.com/easeljs-0.8.1.min.js"></script>
<script src="https://code.createjs.com/tweenjs-0.6.2.min.js"></script>
<script src="https://code.createjs.com/soundjs-0.6.2.min.js"></script>
<script src="https://code.createjs.com/preloadjs-0.6.2.min.js"></script>

JavaScript

var stage = new createjs.Stage("mineCanvas"),
    canvas = stage.canvas,
    CW = canvas.width,
    CH = canvas.height;
  var circle, r = 50;
  var g_delta = 0;

  stage.addChild((circle = new createjs.Shape())).set({x: 2 * r, y: 2 * r}).graphics.f("red").dc(0, 0, r);
  circle.alpha = .1;

  createjs.Ticker.setFPS(60);
  createjs.Ticker.timingMode = createjs.Ticker.RAF_SYNCHED;

  createjs.Ticker.on('tick', function (evt) {
    g_delta = evt.delta / 1000;
    stage.update(evt);
  });

  circle.on('tick', function () {
    this.x += CW * g_delta; //速度:每秒 CW 像素
    if (this.x - r >= CW) {
      this.x = -r;
    }

    //global to local
    var localPos = this.globalToLocal(stage.mouseX, stage.mouseY);
    //hit test
    this.alpha = this.hitTest(localPos.x, localPos.y) ? .5 : .1;
  });