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

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

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

Регистрация: Jan 2010
Сообщений: 39
По умолчанию Помогите разобратса с hitTestObject

Проблема вот в чём,существует линия и необходдимо при пересечение шарика с линией шобы в оутпут вывелось "пук",вроде бы всё просто....но беда шо он ищет пересечение не шарика с линией,а шарика с областью линии
Вот код самое првоерки
Код AS3:
if (player.hitTestObject(getChildByName("qq1"))) {
			trace('pyk');}
			else trace('   ');
подскажите пожалуста шо нужно делать в этом случае,а лучше показать
Зарание спасибо
Вложения
Тип файла: zip asass.zip (7.9 Кб, 110 просмотров)

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

Регистрация: Aug 2009
Адрес: UTC+2
Сообщений: 353
да, я вот тоже не могу врубиться, почему, когда таскаем красную окружность мышкой,
то hitTestObject() дает true только при "визуальном/видимом" контакте красного круга и желтого круга, но

дает true УЖЕ при входе красного круга в зону, ограниченную height/width спрайта, где нарисована линия, а не при видимом касании круга и линии (как мне того хочется)

Прошу пояснить, в чем тут хитрость ?
Вложения
Тип файла: rar hits.rar (7.2 Кб, 118 просмотров)

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

Регистрация: Nov 2007
Сообщений: 183
Пересечение линии с шариком нужно искать как пересечение двух линий
Линии из центра шарика проведенная к другой линии

Помоему в разделе ActionScript 2 был готовый пример.
(почти готовый)
Поищите по словам "пересечение линий"

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

Регистрация: Aug 2009
Адрес: UTC+2
Сообщений: 353
речь не о том, как его искать,
а о различном поведении hitTestObject в случае линия+круг и круг+круг

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

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
Очертите вашу линию прямоугольником наименьшей площади, при котором вся линия будет входить в этот прямоугольник. Тоже самое сделаете с кругом. Вот эти прямоугольники и будут проверятся на столкновение.

Если круг - круг - если расстояние между их центрами меньше суммы радиусов - столкновение.

Если круг - линия - опустите нормаль с центра круга на линию, и если длина это линии меньше радиуса... ну вы поняли.

Старый 02.02.2010, 13:58
Doctor76 вне форума Посмотреть профиль Отправить личное сообщение для Doctor76 Найти все сообщения от Doctor76
  № 6  
Ответить с цитированием
Doctor76
 
Аватар для Doctor76

Регистрация: Nov 2007
Сообщений: 183
Цитата:
речь не о том, как его искать,
а о различном поведении hitTestObject в случае линия+круг и круг+круг
Речь как раз о том, что пересечение линия - круг корректно не ищется методом hitTestobject

Старый 02.02.2010, 14:09
Crenth вне форума Посмотреть профиль Отправить личное сообщение для Crenth Найти все сообщения от Crenth
  № 7  
Ответить с цитированием
Crenth
 
Аватар для Crenth

Регистрация: Aug 2009
Адрес: UTC+2
Сообщений: 353
Цитата:
Сообщение от Doctor76 Посмотреть сообщение
Речь как раз о том, что пересечение линия - круг корректно не ищется методом hitTestobject
Да, Вы правы!
А какой тут выход (ну чтобы средствами АС3 обойтись без применения высшей математики) ?

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

Регистрация: Oct 2009
Сообщений: 47
Чтобы такое пересечение правильно работало, придется самому метод для работы писать. Попробуйте с помощью BitmapData.hitTest(), можно сделать чтобы корректно попиксельно проверка выполнялась.

Добавлено через 38 секунд
Примеры в интернете можно найти.

Старый 02.02.2010, 20:27
nbvehfuanet вне форума Посмотреть профиль Отправить личное сообщение для nbvehfuanet Найти все сообщения от nbvehfuanet
  № 9  
Ответить с цитированием
nbvehfuanet

Регистрация: Jan 2010
Сообщений: 39
Цитата:
Сообщение от alikSmehoff Посмотреть сообщение
Примеры в интернете можно найти.
покажите тогда хотя бы один для ас3
З.Ы.
скока ищу всё или для ас2 или проблемы моей не решает...берёт только область окружающую линию

Старый 02.02.2010, 14:13
Crenth вне форума Посмотреть профиль Отправить личное сообщение для Crenth Найти все сообщения от Crenth
  № 10  
Ответить с цитированием
Crenth
 
Аватар для Crenth

Регистрация: Aug 2009
Адрес: UTC+2
Сообщений: 353
мдаааа....

а правда говорят что АС3 писали индусы за еду ?

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

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

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


 


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


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