Запрос программы в действии скрипт
Я хочу написать программу, которая будет запускать анимацию, используя клавиши со стрелками на клавиатуре для навигации. Пожалуйста помоги. Этот ActionScript является языком программирования
1 ответ
Пример настройки в Flash Pro:
Вы можете скачать этот проект с моего сайта:
Flash Pro CS5.5: http://www.jasonsturges.com/labs/stack-overflow/examples/hero/Hero-cs5.5.fla
Flash Pro CS5: http://www.jasonsturges.com/labs/stack-overflow/examples/hero/Hero-cs5.fla
SWF: http://www.jasonsturges.com/labs/stack-overflow/examples/hero/Hero.swf
import flash.ui.Keyboard;
import flash.events.Event;
import flash.events.KeyboardEvent;
import flash.display.DisplayObject;
// put walls in collection
var walls:Array = [ northWall, southWall, eastWall, westWall ];
// animtion listener
addEventListener(Event.ENTER_FRAME, frameHandler);
// key listeners
stage.addEventListener(KeyboardEvent.KEY_DOWN, keydownHandler);
// keyboard handling
function keydownHandler(event:KeyboardEvent):void
{
switch (event.keyCode)
{
case Keyboard.RIGHT:
moveWalls(-5, 0);
break;
case Keyboard.LEFT:
moveWalls(5, 0);
break;
case Keyboard.UP:
moveWalls(0, -5);
break;
case Keyboard.DOWN:
moveWalls(0, 5);
break;
}
}
// utility to move all walls
function moveWalls(x:Number, y:Number):void
{
for each (var wall:DisplayObject in walls)
{
wall.x += x;
wall.y += y;
}
}
// animation handler
function frameHandler(event:Event):void
{
for each (var wall:DisplayObject in walls)
{
if (hero.hitTestObject(wall))
{
switch (wall)
{
case northWall:
moveWalls(0, -5);
break;
case southWall:
moveWalls(0, 5);
break;
case westWall:
moveWalls(-5, 0);
break;
case eastWall:
moveWalls(5, 0);
break;
}
}
}
}