![]() |
hitTest двух клипов с изогнутыми формами
Подскажите, как просчитать hitTest двух таких клипов, не по рамке а по контуру. Форма может быть любая (блин).
|
da hitTest i tak eta delajet bez njekakih ulovok:
Цитата:
|
lame lame lame
Вложений: 1
Цитата:
Оказывается, это тебе надо читать хелп. Где явно написано, что предложенное тобой myMovieClip.hitTest(target), - Evaluates THE BOUNDING BOXES (выделено мной) of the target and specified instance, and returns true if they overlap or intersect at any point. И попробуй-ка сделать вот такой примерчик, используя myMovieClip.hitTest(target) Сомневаюсь, что у тебя получится " bez njekakih ulovok ". |
Вложений: 1
nu da vot sdelal, bez njekakih ulovok, toka nje target a _x, _y, shape flag
ogovorilsja, sore, no ulovok njekakih njenada! k tomuzhe eta napisana v helpe ! |
Вложений: 1
Не-е-ет, примерчик-то твой хилый. И абсолютно не равнозначен тому, что я выложил. Сразу видно, что он сделан с hitTest(x, y, shapeFlag). А это использование подходит только для довольно маленьких объектов, размерами которых можно пренебречь, а брать только координаты их центров. Поэтому в твоем примере, как это видно на картинке, шар может почти полностью лежать на фигуре, но hitTest регистрироваться не будет.
Но, я это все тебе говорю не для того, чтобы как-то поглумиться над тобой, а только для того, чтобы ты не пытался относиться к вопросам других с пренебрежением и высокомерием. Не надо так резко отправлять других к хелпу. Не надо таких комментариев "lame lame". Даже ты, зная английский, делаешь такие ошибки. А что говорить о тех, кто не знает английского? Вот форум для того и существует, чтобы одни могли задавать любые вопросы, а другие - делиться опытом и маленькими хитростями. Извини, если обидел. Но и ты постарайся не обижать других. |
Вложений: 1
nu ladno, uprjok k mestu vspeshke upustil
a kak tebe etat fail? no vopsheto ja etim njeanilasja do etava, kakbi njebilo nadabnastji, no njemnoshko prishlosj podumatj... a ja vedj tebja zadel za zhivoje vsjotaki, izvinjajusj :) no tvojo reshenije chisto bilo na mnoga huzhe a nje alternativnij variant. |
Вложений: 1
Вот ты приаттачиваешь файл, а ты сам его проверил? Мне кажется, - нет. Я даже уверен, что нет. Потому что у тебя startDrag без "true", и поэтому ты не можешь нормально двигать клип. А если бы проверил, то обнаружил бы то, что можно увидеть на приатаченных картинках.
Но то, что ты обратился к getBounds, говорит, что ты на правильном пути. Но, опять-таки, всегда стоит подумать, подходит ли данный способ для решения данной задачи. И вот тут можно ответить и на твое утверждение, что предложенный тобой способ (в другом топике) – намного лучше моего. Во-первых, я предложил только ОДИН из способов, специально оговорив это в самом начале. Во-вторых, для каждой задачи – свой способ. Я до сих пор думаю, что тот, который я предложил – более универсальный: он позволяет более гибко подойти к удалению копий клипов. Например, если я хочу удалить клипы только тогда, когда их количество четно какому-то числу, или если я хочу удалить какую-то определенную конфигурацию клипов. В общем, я хочу еще раз повторить: для каждой задачи – свой способ. Хорош ли предложенный тобой? – безусловно! Для своих задач. Но зацепило меня за живое не то, чей предложенный способ лучше или хуже, а твое ничем необоснованное высокомерие и слово "lame", трижды повторенное. Я, по жизни – добрейшей души человек, но, сталкиваясь с хамством и грубостью, становлюсь сам не свой. Даже друзья это хорошо усвоили и не пытаются меня в таких случаях успокаивать, а просто, сразу вызывают скорую помощь для пострадавшего. Шучу, конечно. Но в каждой шутке - .... Поэтому так и отнесся к твоим постам. Хотя против тебя лично нечего не имею. Я отлично помню, что мы с тобой нормально общались, когда тестили твой austrapak. Надеюсь, и в дальнейшем будем общаться нормально. В нашей полемике мы забыли про автора вопроса, Nicolas(a). Давай – все же – ответим ему. Nicolas, смотря какую задачу ты решаешь. Если это достаточно большие объекты, и нужно точно отследить их столкновение, - есть еще один нетривиальный способ: разместить по контуру одного из них точечные клипы-маяки, и отслеживать столкновение с ними. |
Здравствуйте, Sergwizard
Спасибо за Вашу защиту от нападок нашего "лесного брата". За время развития событий я сумел сам справиться с поставленной задачей. Ваш совет по поводу "клипов-маяков", приходил мне в голову, но объектов очень много и в каждый вставлять "маяки", очень трудоемкий процесс. Задача решилась очень интересным способом: 1. При загрузке МС в "container" мы прощитываем "shape", с шагом 2 пикселя, и заносим объекты со свойствами (х и у) в массив для данного МС. Код:
container = ссылка на нужный контейнер.2. При совпадении "bounding box" двух МС, мы включаем проверку совпадений их шейпов (по их массивам, до первого совпадения) Код:
var HTmass = eval(container1+"_ht")Код:
MovieClip.prototype.lg = MovieClip.prototype.localToGlobal; |
Все свободны :D
|
видишь суслика ?.. и я нет. а он есть.
теперь-то суслика видят все =)
|
| Часовой пояс GMT +4, время: 15:26. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.