![]() |
Помогите разобратса с hitTestObject
Вложений: 1
Проблема вот в чём,существует линия и необходдимо при пересечение шарика с линией шобы в оутпут вывелось "пук",вроде бы всё просто....но беда шо он ищет пересечение не шарика с линией,а шарика с областью линии
Вот код самое првоерки Код AS3:
Зарание спасибо |
Вложений: 1
да, я вот тоже не могу врубиться, почему, когда таскаем красную окружность мышкой,
то hitTestObject() дает true только при "визуальном/видимом" контакте красного круга и желтого круга, но дает true УЖЕ при входе красного круга в зону, ограниченную height/width спрайта, где нарисована линия, а не при видимом касании круга и линии (как мне того хочется) Прошу пояснить, в чем тут хитрость ? |
Пересечение линии с шариком нужно искать как пересечение двух линий
Линии из центра шарика проведенная к другой линии Помоему в разделе ActionScript 2 был готовый пример. (почти готовый) Поищите по словам "пересечение линий" |
речь не о том, как его искать,
а о различном поведении hitTestObject в случае линия+круг и круг+круг |
Очертите вашу линию прямоугольником наименьшей площади, при котором вся линия будет входить в этот прямоугольник. Тоже самое сделаете с кругом. Вот эти прямоугольники и будут проверятся на столкновение.
Если круг - круг - если расстояние между их центрами меньше суммы радиусов - столкновение. Если круг - линия - опустите нормаль с центра круга на линию, и если длина это линии меньше радиуса... ну вы поняли. |
Цитата:
|
Цитата:
А какой тут выход (ну чтобы средствами АС3 обойтись без применения высшей математики) ? |
Чтобы такое пересечение правильно работало, придется самому метод для работы писать. Попробуйте с помощью BitmapData.hitTest(), можно сделать чтобы корректно попиксельно проверка выполнялась.
Добавлено через 38 секунд Примеры в интернете можно найти. |
мдаааа....
а правда говорят что АС3 писали индусы за еду ? |
Ну пока только вот руками.
там конечно не высшая математика, но позаморачиваться придется. особенно если шар перемещается под разными углами..... Индусы за еду:taunt: |
| Часовой пояс GMT +4, время: 02:28. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.