Показать сообщение отдельно
Старый 11.12.2013, 01:24
Dip52 вне форума Посмотреть профиль Отправить личное сообщение для Dip52 Найти все сообщения от Dip52
  № 4  
Ответить с цитированием
Dip52

Регистрация: Aug 2012
Сообщений: 297
Код AS3:
package massacre
{
	import flash.display.MovieClip;
	import flash.events.KeyboardEvent;
	import flash.events.Event;
	import flash.ui.Keyboard;
 
	public class Move extends MovieClip
	{
		private var up:Boolean = false;
		private var down:Boolean = false;
		private var left:Boolean = false;
		private var right:Boolean = false;
 
		private const SPEED:Number = 1; 
		private var persona:MovieClip;
		private var s:*;
 
		public function Move(setPersona:MovieClip,setStage:*)
		{
			init(setPersona,setStage);
		}
		private function init(setPersona:MovieClip,setStage:*):void
		{
			s = setStage;
			persona = setPersona;
			s.addEventListener(KeyboardEvent.KEY_DOWN,downKey);
			s.addEventListener(KeyboardEvent.KEY_UP,upKey);
			addEventListener(Event.ENTER_FRAME,move);
		}
		private function upKey(event:KeyboardEvent):void
		{
			const KEYCODE:* = event.keyCode;
			switch(KEYCODE)
			{
				case Keyboard.LEFT:
				left = false;
				break;
				case Keyboard.RIGHT:
				right = false;
				break;
				case Keyboard.UP:
				up = false;
				break;
				case Keyboard.DOWN:
				down = false;
				break;
			}
		}
		private function downKey(event:KeyboardEvent):void
		{
			const KEYCODE:uint = event.keyCode;
			switch(KEYCODE)
			{
				case Keyboard.LEFT:
				left = true;
				break;
				case Keyboard.RIGHT:
				right = true;
				break;
				case Keyboard.UP:
				up = true;
				break;
				case Keyboard.DOWN:
				down = true;
				break;
			}
		}
		private function move(event:Event):void
		{
			if(left)
			{
				persona.x -= SPEED;
			}
			if(right)
			{
				persona.x += SPEED;
			}
			if(down)
			{
				persona.y += SPEED;
			}
			if(up)
			{
				persona.y -= SPEED;
			}
		}
	}
}