![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Всем привет.
Столкнулся вот с чем: у меня есть мувик bgr, в нем еще два мува, а и b. для а написана онЕнтерФрейм-функция, увеличивающая его y-координату до того момента, пока а не ляжет своим центром на b. Проверяется этот момент хитТестом. Все работает, но когда я начинаю перемещать общий мув bgr по иксу, то при bgr._x > 4005 мув а начинает двигаться по игреку, как будто b под ним исчез. Вырезка из трейса (первое число - bgr._x, второе - bgr.a._y): Мой вопрос заключается в том, как можно этого избежать и верно ли мое предположение в теме поста? Спасибо.
__________________
Платон мне друг, но истина в вине. |
|
|||||
|
Вот..
__________________
Платон мне друг, но истина в вине. |
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
Из Вашего исходника, понять, собственно ниче нельзя. Если можно изложите идею словесно и по-подробнее, т.е. что Вы хотите реализовать. Я думаю так будет проще, чем мы будем парсить мозгом ваш исходник.
Сразу же есть несколько советов. 1. Делайте по возможности все на основной временной шкале а не на шкалах вложенных мувов, т.е не bgr....onEnterFrame, а _root.onEnterFrame и в первом кадре (если нет прелоадера). Это способствует централизации кода, т.е. и Вам и другим флешерам легкче будет с ним разбираться. Поясните пожалуйста зачем Вам 2 слой. Я не вижу там никаких трасформаций или действий? Последний раз редактировалось Alex_beginner; 29.05.2008 в 14:59. |
|
|||||
|
Исходник проще этого трудно себе представить.. Я не знаю как в нем можно что-то не понять. Этот файл иллюстрирует мою проблему. Если бы меня интересовало использование _root.onEnterFrame, я бы так и написал.
2. Не уничтожаю, т.к. он мне нужен. В реальной задаче мув b может менять координаты, и мув a при этом должен опускаться на него.
__________________
Платон мне друг, но истина в вине. |
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
На счет _root.onEnterFrame львиная доля всех динамических процессов может быть описана в onEnterFrame главной временной шкалы и нет необходимости делать его на клипах, кнопках и др. кадрах итд.
Давайте уточним. 1. Есть клип-контейнер - bgr; 2. В bgr есть два клипа bgrr и char; 3. Необходимо менять свойство char._y до момента совпадения координат его центра и края клипа bggr; 4. Остановка процесса; Если что то не так или что-то я упустил попавьте меня, указав номер пункта и поправку. |
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
А вот так организовать процесс нельзя?
var centralPoint:Object = {x:0,y:0}; //для точки регистрации в центре клипа
this.onEnterFrame = function():Void
{
this.bgr.char._y +=3;
centralPoint.x=0;
centralPoint.y=0;
this.bgr.char.localToGlobal(centralPoint);
if (this.bgr.bgrr.hitTest(centralPoint.x,centralPoint.y,true))
{
delete this.onEnterFrame;
trace("столкновение");
};
}
Последний раз редактировалось Alex_beginner; 29.05.2008 в 16:16. |
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
Сhingachgoog! Большой змей!
Скажи мне а че он вообще то хотел, если ты понял.Вот еще что непонятно. Как можно достигнуть координаты 4005 если максимальные размеры холста -2880 px. Последний раз редактировалось Alex_beginner; 29.05.2008 в 16:08. |
|
|||||
|
Banned
[+4 01.02.09]
[+1 01.02.09] |
sinya нашел интересный глюк и высказал правдоподобное объяснение сего явления. Скорее всего он прав. Но точно могут сказать только разработчики метода хитТест (они знают, как он НА САМОМ ДЕЛЕ работает)
Цитата:
add: В этом нет смысла для поставленного вопроса. В моем примере шарик вообще не падает. Последний раз редактировалось chingachgoog; 29.05.2008 в 16:29. |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:16. |
|
|
« Предыдущая тема | Следующая тема » |
|
|