Actionscript 3 将flash.events:KeyboardEvent类型的值隐式强制转换为不相关的flash.events:MouseeEvent类型

Actionscript 3 将flash.events:KeyboardEvent类型的值隐式强制转换为不相关的flash.events:MouseeEvent类型,actionscript-3,Actionscript 3,如何调用flash events的函数:flash events keyboardEvent函数中的MouseeEvent 我是as3的大人物,请帮忙 stage.addEventListener(KeyboardEvent.KEY_DOWN,keyPressed); function keyPressed(event:KeyboardEvent){ if (event.keyCode == Keyboard.ENTER) { if (keyMode ==

如何调用flash events的函数:flash events keyboardEvent函数中的MouseeEvent

我是as3的大人物,请帮忙

stage.addEventListener(KeyboardEvent.KEY_DOWN,keyPressed);

function keyPressed(event:KeyboardEvent){

    if (event.keyCode == Keyboard.ENTER)
    {

        if (keyMode == 0)
        {
            keyMode = 1;
            **startFun(event);**

        }
        else if (keyMode == 1)
        {
            **checkfun(event);**

        }
        else if (keyMode == 2)
        {
            keyMode = 1;
            **anotherPro(event);**

        }
    }
}

有几种方法,如发送事件等。我将给您一个简单的示例:

// or should be KEY_UP?
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressedHandler, false, 0, true);
stage.addEventListener(MouseEvent.CLICK, exampleMouseClickHandler, false, 0, true);

function exampleMouseClickHandler(event:MouseEvent):void
{
    //if necessary to pass any parameter, just need to change these mouseClickLogic() / keyPressLogic() methods
    mouseClickLogic();
    keyPressLogic();
}

function mouseClickLogic():void
{
    //do something...
}

function keyPressedHandler(event:KeyboardEvent):void
{
    //if necessary to pass any parameter, just need to change these mouseClickLogic() / keyPressLogic() methods
    keyPressLogic();
    mouseClickLogic();
}

function keyPressLogic():void
{
    //to something...
}

我感谢所有试图帮助我的人

这是我的程序没有任何错误我以前犯的错误是在这段代码中而不是在事件中 我输入了一个事件

函数startFun(evt:事件):无效

You can use like that:
MouseEvent in flash events:

import flash.events.MouseEvent;

stage.addEventListener(MouseEvent.CLICK,clickStage);
stage.addEventListener(MouseEvent.MOUSE_UP,upStage);
stage.addEventListener(Event.MOUSE_LEAVE,leaveStage);
stage.addEventListener(MouseEvent.MOUSE_DOWN,mouseDownStage);
function clickStage(e:MouseEvent):void
{
    trace("click Stage");
}

function upStage(e:MouseEvent):void
{
    trace("up Stage");
}

function leaveStage(e:Event):void
{
    trace("leave Stage");
}

function mouseDownStage(e:MouseEvent):void
{
    trace("mouse Down Stage");
}


keyboardEvent function:  

function reportKeyDown(event:KeyboardEvent):void
{
    trace("Key Pressed: " + String.fromCharCode(event.charCode) +   " (character code: " + event.charCode + ")");
}
stage.addEventListener(KeyboardEvent.KEY_DOWN, reportKeyDown);
import flash.events.KeyboardEvent;
import flash.events.MouseEvent;
import flash.events.Event;



var elapsedTime:Number;
var NumOfProplem:Number;
var PropSolved:Number;
var completeSet:Boolean;


answerbox.restrict = "0-9";
ProplemBox.restrict = "0-9";

mult2.restrict = "?";
mult1.restrict = "?";



var keyMode:Number = 0;
stage.focus = ProplemBox;


bt1.visible = false;
bt2.visible = false;


//////////////////////////////
btnstart.addEventListener(MouseEvent.CLICK, startFun);

function startFun(evt:Event):void {
    if (ProplemBox.text == "") {
        stage.focus = ProplemBox;
        return;
    }
    bt1.visible = true;
    bt2.visible = true;
    NumOfProplem = Number(ProplemBox.text);
    PropSolved = 0;
    completeSet = false;
    elapsedTime = getTimer();
    keyMode = 1;
    anotherPro(evt);    
}
///////////////////////////////




    stage.focus = answerbox;
    answerbox.setSelection(0,3);
}
/////////////////


bt1.addEventListener(MouseEvent.CLICK,checkfun);

function checkfun(evt:Event):void
{
    var x:Number = parseInt(mult1.text);
    var y:Number = parseInt(mult2.text);
    var z:Number = parseInt(answerbox.text);

    if ((x*y )== z){

        messagebox.text = "Right";
        PropSolved++;

        if (PropSolved >= NumOfProplem ){

            keyMode = 3;
            endGameReport();
        }

        else{

            keyMode = 2;
        }
    }
    else
    {
        messagebox.text = "Wrong";
        stage.focus = answerbox;
        answerbox.setSelection(0,3);

    }
}

function endGameReport():void{

    elapsedTime = (getTimer() - elapsedTime);
    stage.focus = ProplemBox;
    ProplemBox.setSelection(0,2);

    bt1.visible = false;
    bt2.visible = false;


    messagebox.text = "You completed"  + NumOfProplem + "Proplems in"
    + Math.floor(elapsedTime/1000) +  "Second";

}


stage.addEventListener(KeyboardEvent.KEY_DOWN,keyPressed);

function keyPressed(evt:KeyboardEvent){

    if (evt.keyCode == Keyboard.ENTER)
    {

        if (keyMode == 0)
        {
            keyMode = 1;
            startFun(evt);

        }
        else if (keyMode == 1)
        {
            checkfun(evt);

        }
        else if (keyMode == 2)
        {
            keyMode = 1;
            anotherPro(evt);

        }
    }
}