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

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

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

Регистрация: May 2010
Сообщений: 2
Attention Идентификация экземпляров класса

Привет!
Создал класс block. Представляет из себя квадрат заданной ширины. Задача - сделать так, чтоб блоки падали на платформу или друг на друга, а не проваливась.

Если блок падает на платформу, он остается на месте. Реализовано это так :
Код AS3:
if (temp.hitTestObject(mcPlat) == false) 
{
      temp.fall();
} 
else
{
...
где temp - это экземпляр блока, а mcPlat - это платформа.
Другими словами каждый кадр происходит проверка hitTestObject на предмет соприкосновения с платформой.

А вот реализовать соприкосновение между блоками, мне не удалось. Вот так я задаю их
Код AS3:
var temp:block;
function blockAdd():void
{
	i++;
	temp = new block(0.1,3,1.01,200,300);
	addChild(temp);
	temp.addEventListener(Event.ENTER_FRAME , blockHang);
	stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
}
После того как очередной блок падает, вызывается функция blockAdd - и по новому создается очередной блок.

Вот в чем проблема...не могу применить hitTestObject одного блока к другому. Я бы хотел знать есть ли способ идентификации экземпляров класса?

Тоесть текущий блок допустим был бы temp[3], и сравнивался бы на столкновение с temp[1].

Старый 09.05.2010, 19:30
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 2  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
заносите все блоки в массив, а потом по массиву проходите и проверяйте столкновения

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

Регистрация: May 2010
Сообщений: 2
Да - так и пришлось сделать! Думал можно какие то индексы выдумать,чтоб не создавать лишний массив.

Спасибо за идею, дало мне понять, что я двигался в правильном направлении, а не изобрел велосипед!

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

Теги
class , hittestobject , класс , экземпляр
Опции темы
Опции просмотра

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

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


 


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


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