Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Проблема с hitTest (http://www.flasher.ru/forum/showthread.php?t=171678)

australian incognito 21.11.2011 21:04

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

ProxyGreen 21.11.2011 21:48

Если расстояние между центрами окружностей меньше или равно суммы их радиусов, значит они столкнулись.

goodguy 21.11.2011 21:55

Код 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("круги столкнулись");
      }
}


australian incognito 21.11.2011 22:01

Ребят, спасибо.
Вот только круги я брал для примера. Что делать в случае более сложных форм?

expl 21.11.2011 22:27

BitmapData::hitTest. Но этот метод неудобно использовать, ест ресурсов немало.
Возможно, использовать просчет сколкновений из какого-нибудь физического движка.


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

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