Показать сообщение отдельно
Старый 17.07.2009, 13:45
Gaen вне форума Посмотреть профиль Отправить личное сообщение для Gaen Найти все сообщения от Gaen
  № 3  
Ответить с цитированием
Gaen
strange mood
 
Аватар для Gaen

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
Делаете класс BallsContainer, который будет содержать в себе шарики (либо сразу, либо создавать программно), слушать клики по ним и переключать их состояния (активен/неактивен) и двигать активный шарик с клавиатуры.

Код AS3:
package{
 
	public class BallsContainer{
 
		private var balls     :Array;
 
		private var activeBall:Ball;
 
		public function BallsContainer():void{
 
			this.balls = [];
 
			for(var i:int = 0; i < 10; i++)this.addBall();
 
			this.addEventListener(KeyboardEvent.KEY_DOWN, startMoving);
			this.addEventListener(KeyboardEvent.KEY_UP,   stopMoving);
 
		}//BallsContainer
 
		private function addBall():void{
 
			var ball:Ball = new Ball();
 
			ball.x = Math.random() * this.stage.stageWidth;
			ball.y = Math.random() * this.stage.stageHeight;
 
			this.addChild(ball);
 
			ball.mouseChildren = false;
 
			ball.addEventListener(MouseEvent.MOUSE_OVER, this.ballOver);
			ball.addEventListener(MouseEvent.MOUSE_OUT,  this.ballOut);
			ball.addEventListener(MouseEvent.CLICK,      this.ballClick);
 
			this.balls.push(balls);
 
		}//addBall
 
		private function ballOver(e:MouseEvent):void{
		    //реакция на наведение мыши
		}//ballOver
 
		private function ballOut(e:MouseEvent):void{
		    //реакция на увод мыши
		}//ballOut
 
		private function ballClick(e:MouseEvent):void{
 
			if(this.activeBall){
 
				//возвращаем this.activeBall - шарик который на данный момент активен -  в нормальное состояние
 
			}//if
 
			this.activeBall = e.target;
 
			//подсвечиваем шарик по которому кликнули
 
		}//ballClick
 
		private function startMoving(e:KeyboardEvent):void{
		    //включаем движение activeBall в нужную сторону
		}//startMoving
 
		private function stopMoving(e:KeyboardEvent):void{
		    //выключаем движение activeBall
		}//stopMoving
 
	}//class
 
}//package
Остальное сами допишете?
__________________
тонкий тролль, осеянный благодатью


Последний раз редактировалось Gaen; 17.07.2009 в 13:47.