是否有可能在動畫片段上捕捉「焦點選擇」(使用輔助功能,如TAB,ARROWS,ENTER和SPACE鍵)?as3如何捕捉焦點選擇事件?
在下面的例子中,我找不到一種方法來捕捉藍色方塊上的「焦點選擇」。有什麼建議麼?
import flash.display.SimpleButton;
import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.display.Sprite;
import flash.events.FocusEvent;
// build red button
var btSprite:Sprite = new Sprite();
btSprite.graphics.beginFill(0xff0000);
btSprite.graphics.drawRect(0,0,20,20);
btSprite.graphics.endFill();
var redBtn:SimpleButton;
redBtn = new SimpleButton(btSprite, btSprite, btSprite, btSprite);
addChild(redBtn);
redBtn.x = redBtn.y = 0;
// build blue square
var blueSquare:MovieClip = new MovieClip();
blueSquare.graphics.beginFill(0x0000ff);
blueSquare.graphics.drawRect(0,0,20,20);
blueSquare.graphics.endFill();
addChild(blueSquare);
blueSquare.x = blueSquare.y = 100; // not sure it does not show over myBtn
// set blue square selectable using TAB key
blueSquare.tabEnabled = true;
blueSquare.focusRect = true;
// listen events
redBtn.addEventListener(MouseEvent.CLICK, onEvent); // work click/tab select
blueSquare.addEventListener(Event.SELECT, onEvent); // does not work
blueSquare.addEventListener(MouseEvent.CLICK, onEvent); // works click only
// catch events on objects
function onEvent(event:Event){
trace((event.target?event.target.name:'none') + " selected!");
}
檢查「blueSquare .mouseEnabled「是真實的,請嘗試設置它並再次檢查您的條件。 – Vesper
需要更多的咖啡,完全看到了一個不存在的形狀聲明... – BadFeelingAboutThis
您是否嘗試過使用焦點事件? – BadFeelingAboutThis