#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;
}