2014-01-20 3 views
1

как можно назвать функцию вспышки событий: MouseEvent вспышки событий KeyboardEvent функциинеявного принуждения значения типа flash.events:KeyboardEvent несвязанного типа flash.events:MouseEvent

Я: biggner в 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);** 

     } 
    } 
} 

ответ

0

Я благодарю всех тех, кто пытался мне помочь

это моя программа без ошибок ошибка, которую я сделал перед тем, как в этом коде вместо Event я напечатал MousEvent

функция startFun (ЭВТ: Event) : void

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); 

     } 
    } 
} 
0

Существует несколько способов, отправка события и т.д. Я дам вам простой пример:

// 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... 
} 
+0

это весь код моей программы – Oyster

0
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); 
Смежные вопросы