![]() |
Помогите разобратса с hitTestObject
Вложений: 1
Проблема вот в чём,существует линия и необходдимо при пересечение шарика с линией шобы в оутпут вывелось "пук",вроде бы всё просто....но беда шо он ищет пересечение не шарика с линией,а шарика с областью линии
Вот код самое првоерки Код AS3:
Зарание спасибо |
Вложений: 1
да, я вот тоже не могу врубиться, почему, когда таскаем красную окружность мышкой,
то hitTestObject() дает true только при "визуальном/видимом" контакте красного круга и желтого круга, но дает true УЖЕ при входе красного круга в зону, ограниченную height/width спрайта, где нарисована линия, а не при видимом касании круга и линии (как мне того хочется) Прошу пояснить, в чем тут хитрость ? |
Пересечение линии с шариком нужно искать как пересечение двух линий
Линии из центра шарика проведенная к другой линии Помоему в разделе ActionScript 2 был готовый пример. (почти готовый) Поищите по словам "пересечение линий" |
речь не о том, как его искать,
а о различном поведении hitTestObject в случае линия+круг и круг+круг |
Очертите вашу линию прямоугольником наименьшей площади, при котором вся линия будет входить в этот прямоугольник. Тоже самое сделаете с кругом. Вот эти прямоугольники и будут проверятся на столкновение.
Если круг - круг - если расстояние между их центрами меньше суммы радиусов - столкновение. Если круг - линия - опустите нормаль с центра круга на линию, и если длина это линии меньше радиуса... ну вы поняли. |
Цитата:
|
Цитата:
А какой тут выход (ну чтобы средствами АС3 обойтись без применения высшей математики) ? |
Чтобы такое пересечение правильно работало, придется самому метод для работы писать. Попробуйте с помощью BitmapData.hitTest(), можно сделать чтобы корректно попиксельно проверка выполнялась.
Добавлено через 38 секунд Примеры в интернете можно найти. |
мдаааа....
а правда говорят что АС3 писали индусы за еду ? |
Ну пока только вот руками.
там конечно не высшая математика, но позаморачиваться придется. особенно если шар перемещается под разными углами..... Индусы за еду:taunt: |
в том то и дело, что я написал свой hitTester. А потом подумал - может есть готовое решение.
И так во всем :( |
Свое всегда лучше
|
Doctor76, а вы Math.cos тоже MyMath.cos переписываете, а там в ряд раскладываете?
BitmapData.hitTest тогда вам, если попиксельно хотите. |
Цитата:
З.Ы. скока ищу всё или для ас2 или проблемы моей не решает...берёт только область окружающую линию |
Вложений: 1
всё,разобралсо
Вот исходник...разбирайтесь |
Unexpected file format
|
Цитата:
Хотя, на самом деле это нафиг ненужно. |
Вложений: 1
Вот то что я делал, тут, кстати не сложный код (AS3.0).
|
if (player.hitTestObject(qq1))
{ trace('pyk'); } else { trace(' '); } |
| Часовой пояс GMT +4, время: 05:29. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.