Показать сообщение отдельно
Старый 17.07.2011, 19:02
Wily вне форума Посмотреть профиль Отправить личное сообщение для Wily Найти все сообщения от Wily
  № 3  
Ответить с цитированием
Wily

Регистрация: Jul 2011
Сообщений: 2
Код AS1/AS2:
package 
{
	import flash.display.MovieClip;
	import flash.events.Event;
	import flash.events.KeyboardEvent;
 
	public class Hero extends MovieClip
	{
		public var step = 5; // скорость перемещения
 
		var leftPressed:Boolean;
		var rightPressed:Boolean;
 
		public function Hero()
		{
			if (stage)
			{
				ON_INIT();
			}
			else
			{
				addEventListener(Event.ADDED_TO_STAGE, ON_INIT);
			}
		}
 
		public function ON_INIT(event:Event = null)
		{
			removeEventListener(Event.ADDED_TO_STAGE, ON_INIT);
 
			stage.addEventListener(Event.ENTER_FRAME, ON_ENTER_FRAME);
			stage.addEventListener(KeyboardEvent.KEY_DOWN, ON_KEY_DOWN);
			stage.addEventListener(KeyboardEvent.KEY_UP, ON_KEY_UP);
		}
 
		public function ON_ENTER_FRAME(e:Event)
		{
			if (leftPressed)
			{
				this.x -= step;
			}
			else if (rightPressed)
			{
				this.x += step;
			}
		}
 
		public function ON_KEY_DOWN(e:KeyboardEvent)
		{
			if (e.keyCode==37)
			{
				leftPressed=true;
			} 
			else if (e.keyCode==39)
			{
				rightPressed=true;
			}
		}
 
		public function ON_KEY_UP(e:KeyboardEvent)
		{
			if (e.keyCode==37)
			{
				leftPressed=false;
			} 
			else if (e.keyCode==39)
			{
				rightPressed=false;
			}
		}	
	}
}