Как вы увеличиваете масштаб символа с помощью KEY_UP и уменьшаете масштаб с помощью KEY_DOWN?

#flash #actionscript-3

#flash #actionscript-3

Вопрос:

Вот один из способов сделать это с помощью колесика мыши:

 stage.addEventListener(MouseEvent.MOUSE_WHEEL, zoom);
function zoom(e:MouseEvent) {
    square.z =20*e.delta;
}
  

Как бы вы это сделали с помощью KEY_UP и KEY_DOWN?

 stage.addEventListener(KeyboardEvent.KEY_DOWN, zoom);
stage.addEventListener(KeyboardEvent.KEY_UP, zoom);
function zoom(e:MouseEvent):void{
}
  

Комментарии:

1. это зависит от того, насколько вы хотите увеличить масштаб одним нажатием.

Ответ №1:

Ах, нет, это не сработает

KEY_UP запускается при отпускании нажатой клавиши. Это может быть ЛЮБАЯ клавиша. Аналогично, KEY_DOWN для нажатия клавиши

Что вам ДЕЙСТВИТЕЛЬНО нужно сделать:

 //add event handler for key release
stage.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler);
//Key release event handler
function keyUpHandler(e:KeyboardEvent):void {
    if(e.keyCode==Keyboard.UP) { //up key is pressed
        zoomIn();
    } else if(e.keyCode==Keyboard.DOWN) { //down key is pressed
        zoomOut();
    }
}

function zoomIn():void{
    square.z =5;
}

function zoomOut():void{
    square.z-=5;
}
  

Ответ №2:

я думаю, что это сработает:

 stage.addEventListener(KeyboardEvent.KEY_DOWN, zoomIn);
stage.addEventListener(KeyboardEvent.KEY_UP, zoomOut);
function zoomIn(e:MouseEvent):void{
    square.z =5;
}
function zoomOut(e:MouseEvent):void{
    square.z-=5;
}