プログラム的メモ書き。
javascriptのcreatejs ( easeljs-0.8.2.js ) のhitTest関数とhitArea変数に関して、、、、
hitAreaが、なぜか動作してない・・・。
ドキュメント見るとサポートしていないと書かれてたw
なので、無理やりサポートする方法。
( hitAreaを、hitTest関数で動作させる方法 )
createjs内では、hitTest関数は、
> p.hitTest = function(x, y) {
> var ctx = DisplayObject._hitTestContext;
> ctx.setTransform(1, 0, 0, 1, -x, -y);
> this.draw(ctx);
>
> var hit = this._testHit(ctx);
> ctx.setTransform(1, 0, 0, 1, 0, 0);
> ctx.clearRect(0, 0, 2, 2);
> return hit;
> };
こんな感じの定義になっているので、
createjs.Bitmap()とか.Shape()などを作成した時に、
> var obj = new createjs.Container();
> // create.js Not supported ==>> self made.
> obj.hitTest = function(x, y) {
> var ctx = createjs.DisplayObject._hitTestContext;
> ctx.setTransform(1, 0, 0, 1, -x, -y);
> if( this.hitArea )
> this.hitArea.draw(ctx);
> else
> this.draw(ctx);
> var hit = this._testHit(ctx);
> ctx.setTransform(1, 0, 0, 1, 0, 0);
> ctx.clearRect(0, 0, 2, 2);
> return hit;
> };
こんな感じでhitTest関数の中身を置き換える!!
以上、メモ書きでした・・・。