为什么一定要加这句话呢:stage.focus = stage(AS3)
原代码://givestagebackthekeyboardfocusstage.focus=stage;如果把这句话删掉,当在swf里点击完对话框后再按键盘就不起作用。...
原代码:
// give stage back the keyboard focus
stage.focus = stage;
如果把这句话删掉,当在swf里点击完对话框后再按键盘就不起作用。。。可是为什么会不起作用呢,为什么一定要加这句话呢 - -? 展开
// give stage back the keyboard focus
stage.focus = stage;
如果把这句话删掉,当在swf里点击完对话框后再按键盘就不起作用。。。可是为什么会不起作用呢,为什么一定要加这句话呢 - -? 展开
2个回答
展开全部
呵呵,因为舞台失去了焦点,而键盘是用舞台桢听的,所以这句把焦点还给了舞台,键盘才能操作
stage.addEventListener(KEY)
stage.focus = stage;
stage.addEventListener(KEY)
stage.focus = stage;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-12-29
展开全部
addEventListener(Event.ENTER_FRAME, onEnterFrame_func);
function onEnterFrame_func(_evt:Event):void{
trace(stage.focus);
}
测试一下上段代码吧,应该是对话框removeChild后,因为stage.focus指向的对象失效,令到键盘失效所致,所以一般通用解决方案就是在移除前把键盘焦点赋值给stage(未removeChild前,DisplayObject的root、stage、parent三值都不为null)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询