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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 25.04.2012, 09:37
Koopa вне форума Посмотреть профиль Найти все сообщения от Koopa
  № 1  
Ответить с цитированием
Koopa
Banned
[+1 30.08.14]
[+1 26.02.14]

Регистрация: Apr 2012
Сообщений: 162
По умолчанию Определение пересечения неименованных экземпляров разных классов

Имеются два или более классов. Экземпляры одного из классов должны проходить проверку на пересечение с экземплярами других классов. Все экземпляры не именованы.

Возможно такое в принципе?Если да, то хоть направление дайте.

Массивы использовать не хочется.Для hitTest нужны оба объекта, а у меня только this.Можно ли ко второму объекту подобраться через класс?

Старый 25.04.2012, 10:04
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 2  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Оу, мсье знает толк в извращениях.
Ну попробуйте синглтон. Как раз "ко второму объекту подобраться через класс".
__________________
тут я

Старый 25.04.2012, 10:12
Aquahawk вне форума Посмотреть профиль Отправить личное сообщение для Aquahawk Посетить домашнюю страницу Aquahawk Найти все сообщения от Aquahawk
  № 3  
Ответить с цитированием
Aquahawk
 
Аватар для Aquahawk

Регистрация: Nov 2010
Адрес: Москва
Сообщений: 915
Записей в блоге: 4
Отправить сообщение для Aquahawk с помощью ICQ Отправить сообщение для Aquahawk с помощью Skype™
Цитата:
Массивы использовать не хочется.
это как?
__________________
:)

Старый 25.04.2012, 11:52
bublic_bicubic вне форума Посмотреть профиль Отправить личное сообщение для bublic_bicubic Найти все сообщения от bublic_bicubic
  № 4  
Ответить с цитированием
bublic_bicubic
 
Аватар для bublic_bicubic

Регистрация: Mar 2010
Сообщений: 48
в конструкторе каждого из классов можно сохранять ссылку на себя в некое общее место, где будет проходить проверка

Для случая с неопределенным числом классов, можно унаследовать экземпляры от некого общего, который будет сохранять ссылку на себя по группам с именем getQualifiedClassName( this )

к примеру:
Код AS3:
class CheckIntersections extends Object {
 
	static public var groupA:Vector.<Sprite> = new Vector.<Sprite>();
	static public var groupB:Vector.<Sprite> = new Vector.<Sprite>();
 
	static public function check():Boolean {
		// проверяем пересечение между группами
		for ( var i_a:int = 0; i_a < groupA.length; i_a++ ) {
			for ( var i_b:int = 0; i_b < groupB.length; i_a++ ) {
				if ( checkTwo( groupA[ i_a ], groupB[ i_a ] ) ) {
					return true;
				}
			}
		}
		return false;
	}
 
	static public function checkTwo( a:Sprite, b:Sprite ):Boolean {
		// проверка
	}
 
}
 
class SpriteA extends Sprite {
 
	public function SpriteA() {
		super();
		CheckIntersections.groupA.push( this );
	}
 
}
 
class SpriteB extends Sprite {
 
	public function SpriteB() {
		super();
		CheckIntersections.groupB.push( this );
	}
 
}

Старый 25.04.2012, 18:52
Koopa вне форума Посмотреть профиль Найти все сообщения от Koopa
  № 5  
Ответить с цитированием
Koopa
Banned
[+1 30.08.14]
[+1 26.02.14]

Регистрация: Apr 2012
Сообщений: 162
Цитата:
Сообщение от Aquahawk Посмотреть сообщение
это как?
Имеется ввиду не создавать свой, а, например, воспользоваться дефолтным-отображаемых объектов.

Добавлено через 9 часов 10 минут
Вобщем первичное решение такое:
Код в Class1
Код AS3:
for(var i:uint=0;i<this.parent.numChildren;i++){
	if(this.parent.getChildAt(i) is Class2){
		if(this.hitTestObject(this.parent.getChildAt(i))){
			trace("BIG BADA BOOM");
			return;
		}
	}
}
Будет пересматриваться и изменяться, наверное.
Всем спасибо за ответы.
//Да,естественно экземпляры обоих классов от одного родителя.

Создать новую тему Ответ Часовой пояс GMT +4, время: 19:42.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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