0

FLASH CC の HTML5 キャンバス ドキュメントのいくつかのボタンに対話機能を追加する作業を行っています。機能はうまく機能しますが、ボタンがロールオーバーされたときにハンドカーソル/ポインターが表示されるように、ロールオーバーを追加するために JS を追加する方法がわかりません。

AS3 で buttonMode を使用してこれを行う方法は知っていますが、私は JS には完全に慣れていません。

以下は、私が現在 HTMl5 キャンバス ドキュメントのボタン用に持っているコードです。事前に助けてくれてありがとう!

var frequency = 1;
stage.enableMouseOver(frequency);

this.btn_yes.addEventListener("click", clickYes.bind(this));
this.btn_no.addEventListener("click", clickNo.bind(this));

this.btn_yes.addEventListener("mouseover", MouseOverYes);
this.btn_yes.addEventListener("mouseout", MouseOutYes);

this.btn_no.addEventListener("mouseover", MouseOverNo);
this.btn_no.addEventListener("mouseout", MouseOutNo);

function clickYes()
   {
       this.gotoAndPlay("chooseYes");
   }


function clickNo()
   {
       this.gotoAndPlay("no");
   }


function MouseOverYes()
   {
       this.btn_yes.style.cursor = 'pointer';
   }


function MouseOutYes()
   {
       this.btn_yes.style.cursor = 'default';
   }

function MouseOverNo()
     {
       this.btn_no.style.cursor = 'pointer';
     }


function MouseOutNo()
     {
         this.btn_no.style.cursor = 'default';
     }
4

3 に答える 3

0

@ user3570797 FlashCC を使用している場合、これはボタン シンボルを作成することで簡単に実行できます。次のようなものを試してください: http://grab.by/Ktw2

次に、これらのボタンを「ExportRoot」オブジェクトを介して名前で参照し、イベント ハンドラーをそれらのボタンにアタッチします。

例:

function init() {
 canvas = document.getElementById("canvas");
 exportRoot = new lib.Button();

 stage = new createjs.Stage(canvas);
 stage.addChild(exportRoot);
 stage.update();
 stage.enableMouseOver();

 var yesBtn = exportRoot.yesBtn;
 var noBtn = exportRoot.noBtn;
 yesBtn.addEventListener("click", handleClick);
 noBtn.addEventListener("click", handleClick);

 createjs.Ticker.setFPS(lib.properties.fps);
 createjs.Ticker.addEventListener("tick", stage);

}

function handleClick(event) {
 //doSomething...

}

于 2015-09-16T20:26:21.930 に答える
0

多分これを試してみてください。

stage.enableMouseOver();
var root = this;
root.theButtonName.cursor = "pointer";
于 2014-12-12T04:38:22.767 に答える