Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 17.07.2009, 02:52
nldr вне форума Посмотреть профиль Отправить личное сообщение для nldr Найти все сообщения от nldr
  № 1  
Ответить с цитированием
nldr
 
Аватар для nldr

Регистрация: Jul 2009
Сообщений: 48
По умолчанию Как использовать один и тот же код для разных объектов?

Как использовать один и тот же код для разных объектов?

Например мне надо сделать простую программку: на экране 2 шарика, кликаем по шарику, он становится "активным" и его можно двигать с клавиатуры, кликаем по другому, уже он реагирует на ввод с клавиатуры.
Хотелось бы использовать один и тот же код, для управления с клавиатуры так как шариков может быть и больше.
Подскажите пожалуйста как это реализовать, или в какую сторону копать.
Есть ли в AS3 подобие указателей как на Си?

Спасибо.

Старый 17.07.2009, 08:51
Juice_Green вне форума Посмотреть профиль Отправить личное сообщение для Juice_Green Посетить домашнюю страницу Juice_Green Найти все сообщения от Juice_Green
  № 2  
Ответить с цитированием
Juice_Green
 
Аватар для Juice_Green

Регистрация: Dec 2005
Адрес: Новосибирск
Сообщений: 529
Отправить сообщение для Juice_Green с помощью ICQ Отправить сообщение для Juice_Green с помощью Skype™
чем вам классы не подходят?

Старый 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.
Старый 17.07.2009, 19:08
nldr вне форума Посмотреть профиль Отправить личное сообщение для nldr Найти все сообщения от nldr
  № 4  
Ответить с цитированием
nldr
 
Аватар для nldr

Регистрация: Jul 2009
Сообщений: 48
Juice_Green
Подходят=)

GAIKER
Спасибо огромное. Конечно допишу, главное идея и направление. Я в AS3 неделю всего=)


Последний раз редактировалось nldr; 28.07.2009 в 00:13.
Создать новую тему Ответ Часовой пояс GMT +4, время: 10:29.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 10:29.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.