首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Flash >

AS3.0中stage 监听器有关问题

2012-02-10 
AS3.0中stage 监听器问题stage.addEventListener(KeyboardEvent.KEY_DOWN,keyDownFun)点击键盘左右键时控

AS3.0中stage 监听器问题
stage.addEventListener(KeyboardEvent.KEY_DOWN,keyDownFun);点击键盘左右键时控制一个影片剪辑移动。现在的问题是,当我运行开程序后,必须用鼠标单击一下界面,才会接收到键盘事件,否则影片剪辑是不会动的。这该怎么解决?

[解决办法]
凑合看了,无非是初始化的时候把焦点 stage.focus 对象设置一下.

XML code
<?xml version="1.0" encoding="utf-8"?><s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"                xmlns:s="library://ns.adobe.com/flex/spark"                xmlns:mx="library://ns.adobe.com/flex/mx"  width="600" height="650" minWidth="955" minHeight="600" initialize="init();">    <s:SpriteVisualElement id="containter" />    <fx:Script>        <![CDATA[            import flash.display.Sprite                        import flash.events.Event;            import flash.events.KeyboardEvent;            import flash.events.MouseEvent;            public function init():void{                var t:Sprite = new Sprite();                this.addEventListener(Event.ADDED_TO_STAGE,function():void{t.stage.focus=t});                this.addEventListener(MouseEvent.CLICK,function():void{t.stage.focus=t});                t.focusRect=false;                containter.addChild(t)                            }        ]]>    </fx:Script></s:Application>
[解决办法]
焦点管理
[解决办法]
吧焦点设置在state上。

热点排行