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

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

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

Регистрация: Sep 2005
Адрес: Минск
Сообщений: 389
По умолчанию Проблема с hitTest

Всем привет!
Я что-то совсем запутался, помогите наиболее примитивным способом проверить на hitTest 2 круга, без учета их bounding box'ов... Что-то стандартные 2 фукнции, которые за это отвечают или срабатывают на рамку обьекта (не на пиксели) или на координату.

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

Регистрация: Jul 2011
Сообщений: 67
Если расстояние между центрами окружностей меньше или равно суммы их радиусов, значит они столкнулись.

Старый 21.11.2011, 21:55
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 3  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Код AS3:
var circle1Radius:Number = 30;
var circle2Radius:Number = 20;
 
function onEnterFrame(e:Event):void {
       var c1:Point = new Point(circle1.x, circle1.y);
       var c2:Point = new Point(circle2.x, circle2.y);
       if (Point.distance(c1, c2) < circle1Radius + circle2Radius) {
            trace("круги столкнулись");
       }
}

Старый 21.11.2011, 22:01
australian incognito вне форума Посмотреть профиль Отправить личное сообщение для australian incognito Найти все сообщения от australian incognito
  № 4  
Ответить с цитированием
australian incognito
 
Аватар для australian incognito

Регистрация: Sep 2005
Адрес: Минск
Сообщений: 389
Ребят, спасибо.
Вот только круги я брал для примера. Что делать в случае более сложных форм?

Старый 21.11.2011, 22:27
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 5  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
BitmapData::hitTest. Но этот метод неудобно использовать, ест ресурсов немало.
Возможно, использовать просчет сколкновений из какого-нибудь физического движка.

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

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

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


 


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


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