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

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

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

Регистрация: May 2008
Сообщений: 8
По умолчанию Cтолкновение? Отставить!

Дело в следующем. пишу игру. есть дом с окнами. в окнах появляются бандиты или гражданские. Есть курсор - прицел. представьте что стреляем с пушки и летит ядро. пушка внизу экрана. движение ядра естрественно задается програмно. проблема в следующем: стреляем по бандиту на верхнем этаже, а в это время на нижнем выскакивает гражданский (или бандит. все равно)... ядро естессно совершает хитТест сначала с ним. А мне надо чтобы оно его и не увидело.

У меня на этот счет только одна мысль родилась: во время клика, определять ареал вокруг места клика, и все столкновения вне этого ареала считать незначительными. Но думаю есть какойто более простой способ ))) Заранее спасибо.


Вот иллюстрация.

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

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

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Попробуй так:
1) Сделать условие на хит тест звезды тока в её последнем кадре, когда она долетает.
если так невозможно, то может поможет:
2) дополнительное условие, на определение, с чем именно сталкиваеться звезда.
ну или:
3) просто некак не называй квадрат, тогда и звезда не будет реагировать на него.
Я канеш ещё сам ламер, относительно тех кто на этом форуме.
__________________
Дети не должны знать о своих родителях

Старый 20.12.2008, 12:05
Chas вне форума Посмотреть профиль Отправить личное сообщение для Chas Посетить домашнюю страницу Chas Найти все сообщения от Chas
  № 3  
Ответить с цитированием
Chas
[+1 14.08.08]
[+1 20.08.08]
 
Аватар для Chas

Регистрация: Sep 2002
Адрес: simferopol
Сообщений: 981
Отправить сообщение для Chas с помощью ICQ
у бандитов и гражданских, т.е. у персонажей заводим переменную, которая определяет: на каком он этаже. У ядра тоже ее устанавливаем : на какой этаж оно летит (определяем по курсору: на первом он этаже, или на втором).
Вот и все.
__________________
~
Never trouble trouble till trouble troubles you!

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Хм... Я так понимаю, ядро летит когда Вы кликнули по цели? Значит цель известна, и надо проводить хитТест только с ней. А если ядро вылетает по нажатию клавиши ПЛИ))) то наверно лучше как Chas сказал, или просто при хитТесте перебирать только обитателей того этажа, на который нацелена пушка.
__________________
Reality.getBounds(this);

Старый 31.12.2008, 15:15
Ralph_DiMarko вне форума Посмотреть профиль Отправить личное сообщение для Ralph_DiMarko Найти все сообщения от Ralph_DiMarko
  № 5  
Ответить с цитированием
Ralph_DiMarko
 
Аватар для Ralph_DiMarko

Регистрация: Dec 2008
Адрес: Одесса
Сообщений: 129
я бы присвоил гражданским имена g1,g2,g3,g4... а бандитам имена b1,b2,b3... и проверял бы хитест токо с b...
Код AS1/AS2:
for (i=1; i<количесвто бандитов; i++) {
	if (пуля.hitTest(this["b"+i])) {
	}
}

Старый 07.01.2009, 15:46
MrXoT вне форума Посмотреть профиль Отправить личное сообщение для MrXoT Найти все сообщения от MrXoT
  № 6  
Ответить с цитированием
MrXoT

Регистрация: Apr 2008
Сообщений: 71
не надо ничего некому присваивать
все намного проще
что бандит что гражданский, все это обьекты
обьект будет хранить данные например
obj.type = "bandit"

да и когда создаешь обьект, обьект пихаешь в массив... (если их много, например 3 бандита)
после когда стреляешь в пулей, проверяешь через массив в кого попала пуля..
если пуля в когото попала, удаляешь обьект из массива и проверяешь кого убила пуля, бандита или гражданского...

Старый 07.01.2009, 16:47
Chas вне форума Посмотреть профиль Отправить личное сообщение для Chas Посетить домашнюю страницу Chas Найти все сообщения от Chas
  № 7  
Ответить с цитированием
Chas
[+1 14.08.08]
[+1 20.08.08]
 
Аватар для Chas

Регистрация: Sep 2002
Адрес: simferopol
Сообщений: 981
Отправить сообщение для Chas с помощью ICQ
во-первых: посту уже две недели, зачем его подымать
во-вторых: задачу внимательней читайте. Задача в том, чтобы определить летит ли ядро на второй этаж плоской проекции или на первый, и как избежать ранения кого-либо на первом этаже, если снаряд летит на второй
__________________
~
Never trouble trouble till trouble troubles you!

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

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

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


 


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


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