AS3.0求助,关于键盘事件

我想要通过对stage侦听键盘按键从而得到对舞台上一个元件操作,一下暂且用一个小球来代替我想操作的元件:varball:Shape=newShape();ball.gra... 我想要通过对stage 侦听键盘按键从而得到对舞台上一个元件操作,一下暂且用一个小球来代替我想操作的元件:
var ball:Shape = new Shape();
ball.graphics.beginFill(0xFF0000);
ball.graphics.drawCircle(0, 0, 30);
ball.graphics.endFill();
addChild(ball);

stage.addEventListener(KeyboardEvent.KEY_DOWN, KeyDownListener);
ball.addEventListener("myCustomEvent", myCustomEventListener);

function KeyDownListener(event:KeyboardEvent):void
{
trace("a");
if (event.keyCode == Keyboard.RIGHT)
{
trace("b");
dispatchEvent(new Event("myCustomEvent"));
}
}

function myCustomEventListener(event:Event):void
{
trace("c");
var ball:MovieClip = event.target as MovieClip;

ball.x++ ;
ball.y++ ;
}

运行结果是,按下方向键之后,a b 能输出,但是 c 没有输出,球也没有运动,是否是因为 myCustomEvent事件没有被dispatch?

求大神解答啊!关于dispatch很不熟悉,不知道怎么用才可以。
展开
 我来答
wobushiqjl
2012-07-13 · 超过15用户采纳过TA的回答
知道答主
回答量:64
采纳率:0%
帮助的人:46.5万
展开全部
在ball的事件监听前先add到stage
this.addeventlistener(EVENT.ADDed_TO_STAGE,add)
function add(evt:EVENT=null):void{

ball.addEventListener("myCustomEvent", myCustomEventListener);

}
更多追问追答
追问
ball不应该是一直都在stage上的吗?求大神细解啊。。。
追答
上面方法可能也不行,你这问题应该是没有发出事件,总之lz先试试看看行不行,之后再进行解释。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式