![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
Регистрация: Mar 2004
Адрес: Питер
Сообщений: 1
|
Есть отрывок кода для клипа (например, гоняющяя по экрану машинка):
Если машина врезается в край экрана (где нарисована стенка), то она по идеи должна останавливаться ТОЧНО тогда, когда её капот, дверь, или любая точка столкнётся с бордюром. Т. е. надо, чтобы условие было не на центр, а на край машины (длину экрана мы как будто не знаем, длину машины тоже). Пробовал разные условия, но машина или тормозит раньше бордюра или вылетает за него. Если же "наехать" на бордюр (стенку) не прямо, а полубоком, то расстояние уменьшается или увеличивается. Пробовал даже . Может тут стоит использовать hit_test? Можно ли без него обойтись?
__________________
Я есть не то, что я есть, А есть то, что я не есть. |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
нужна комбинация хиттеста с провекой координат. ведь при большой скорости можно пролететь насквозь и так и не столкнуться.
в любом случае проверять координаты/хиттест надо ПЕРЕД тем как двигать машину. например, можно двигать невидимый клип, схематично повторяющий контуры машины, и делать все вычисления относительно него. а саму видимую машинку только перемещать куда надо по результатам вычисления в текущем кадре. |
|
|||||
|
меценат
|
Nox Noсtis а могбы новичкам показать на примере свою идею .
как програмно контролировать перемещение прямоугольника с проверкой границ обьекта взаимодействия , границ экрана.
__________________
Безвыходных положений небывает © Барон Мюнхаузен=)Исходники Последний раз редактировалось D12; 01.04.2004 в 00:32. |
|
|||||
|
Регистрация: Apr 2003
Адрес: DC
Сообщений: 4,489
|
Это долго и нудно делать, я думаю ответа не будет ...
__________________
flash/flex/unity |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
Цитата:
сейчас нет времени совсем. надо сергвизарда и айлавЪю покликать :) Последний раз редактировалось Nox Noctis; 01.04.2004 в 10:49. |
|
|||||
|
Цитата:
if (Math.abs(_y)<val) { ySpeed = 0; _y=0; } Цитата:
Последний раз редактировалось silin; 02.04.2004 в 00:00. |
|
|||||
|
Регистрация: Jan 2002
Адрес: СПб-Denver-Лермонтов
Сообщений: 1,525
|
Ага, а я похож на мать Терезу, да? Особенно в профиль.
Дело тут даже не в клипах-маячках, - задача усложняется тем, что плеер среды разработки и собственно сам плеер по-разному обрабатывают такие параметры, как Stage.width и Stage.height (это четко видно в представленном примере). Я тут поковырялся-поковырялся, результатом не удовлетворился, и решил, что лучше я пойду помогать бедным зулусам, беженцам и рахитичным детишкам. Но поработать в этом направлении можно. Кто следующий на роль мамы Терезы?
__________________
Для того чтобы узнавать, есть два способа: - задавать вопросы и пытаться самому на них ответить. Второй способ более продуктивный. (S.Wizard) |
|
|||||
|
что бы не быть голословным
к тому что уже говорил: Nox прав, что бы не пролететь насквозь, надо проверять всю длину предстоящего шага, тока не обязательно для этого заводить фантомный мувик, можно и тестовыми точками в самом обойтись зы: насчет Stage.width: можно проверять выход за границу мувика( рамки) и не заморачиваться на Stage Последний раз редактировалось silin; 02.04.2004 в 18:57. |
|
|||||
|
Регистрация: Jan 2002
Адрес: СПб-Denver-Лермонтов
Сообщений: 1,525
|
2Silin Твой вариант хорош, хотя в нем есть свои недостатки (ты недаром сделал машинку dragable с помощью мышки, - иначе застревает). Да и столкновение у тебя происходит с жестко установленными границами.
А мне было интересна именно эта фраза: "длину экрана мы как будто не знаем, длину машины тоже.". На ней я, как раз, и зациклился. А, не зная длину (вообще, размеры) машины, довольно проблематично выставить контрольные точки.
__________________
Для того чтобы узнавать, есть два способа: - задавать вопросы и пытаться самому на них ответить. Второй способ более продуктивный. (S.Wizard) |
![]() |
Часовой пояс GMT +4, время: 04:56. |
|
|
« Предыдущая тема | Следующая тема » |
|
|