读书人

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

发布时间: 2012-02-10 21:27:42 作者: rapoo

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上。

读书人网 >Flash

热点推荐