![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Feb 2009
Сообщений: 180
|
Здравствуйте. Не могу понять в чем проблема. АС протягивающий линию находится аж на 9-ом слое в сцене. Все слои оказавшиеся ниже перекрывают ее. В том числе и фон.
Линия в данном случае имитирует поведение веревки. Код для веревки брал в найденном исходнике. numPoints = 20; minDist = 50; init(); function init() { var dx = h2._x - rocket2._x; var dy = h2._y - rocket2._y; points = new Array(); for(var i=0;i<numPoints;i++) { points[i] = {x:rocket2._x + dx / numPoints * i, y:rocket2._y + dy / numPoints * i, vx:0, vy:0}; } onEnterFrame = draw; } function draw() { for(var i=0;i<numPoints;i++) { points[i].x += points[i].vx; points[i].y += points[i].vy; /* points[i].vx += Math.random() - .5; points[i].vy += Math.random() - .5; */ if(i == 0) { var x1 = rocket2._x; var y1 = rocket2._y; } else { var x1 = points[i-1].x; var y1 = points[i-1].y; } if(i < numPoints-1) { var x2 = points[i+1].x; var y2 = points[i+1].y; } else { var x2 = h2._x; var y2 = h2._y; } // trace([x1, y1, x2, y2]); points[i].vx += (x1 - points[i].x) * .05; points[i].vy += (y1 - points[i].y) * .05; points[i].vx += (x2 - points[i].x) * .05; points[i].vy += (y2 - points[i].y) * .05; points[i].vy += .05; points[i].vx *= .93; points[i].vy *= .93; } clear(); lineStyle(4,0x0000FF); moveTo(rocket2._x, rocket2._y); for(var i=0;i<numPoints-1;i++) { var x = (points[i].x + points[i+1].x) / 2; var y = (points[i].y + points[i+1].y) / 2; curveTo(points[i].x, points[i].y, x, y); } curveTo(points[i].x, points[i].y, h2._x, h2._y); } Заранее спасибо за помощь. |
|
|||||
|
В этом коде не создаются новые мувики и нигде нет вызовов swapDepths();
причина где-то в ином месте... или попробуйте в функцию init() добавить: |
|
|||||
|
Регистрация: Feb 2009
Сообщений: 180
|
Добавил, ничего не изменилось..
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Код написан в руте я так понимаю, какой тут своп и какой парент? Создавайте пустой клип для графики.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Feb 2009
Сообщений: 180
|
Создал символ. Написал внутри на кадре код. Перед инстансами добавил "_root."
В итоге линия рисуется поверх всего, но координаты не пойми как вычисляются из внутреннего символа. Линия строится вообще не пойми как, не соединяя то, что должна. Добавлено через 1 минуту Добавить соединяемые мувики внутрь этого символа нет возможности. |
|
|||||
|
Модрон-ветеринар
|
Вам рисовать нужно внутри нового созданного вами символа, поэтому не надо было добавлять _root перед именами мувиков.
А для перевода координат между _root и внутренними координатами мувика используйте globalToLocal и localToGlobal. И еще, общие замечания. 1) От того где находится код никак не зависит, на какой глубине будут выполняться операции по созданию новых объетов, определенные в AS. 2) В готовом ролике нет слоев. Там есть только глубины, Z-координата, и области перекрытия определяются, исходя из глубины. Глубина и слой в FLA-проекте - совершенно разные вещи. Наличие того или иного символа на определенном слое, если нет исполняемого кода, работающего с глубинами, дает только начальные взаимные расположения положения объектов в готовом ролике по z-координате. Причем для мувиков, созданных руками, глубины лежат на -16 000-х глубинах, гарантируя таким образом объектам, созданным с AS, свободные глубины от 0 и выше. Главное для вас - рисовать в мувике, расположенном в слое, который находится поверх тех слоев, где находятся объекты, которые нужно перекрыть. Вот в этом примере создается программно мувик bg на глубине 0 и в нем рисуется прямоугольник. Сделайте нечто подобное и не забудьте о переводе координат. Последний раз редактировалось mooncar; 05.08.2009 в 12:20. |
|
|||||
|
Регистрация: Feb 2009
Сообщений: 180
|
mooncar, спасибо большое, последний пример очень помог. Я просто создал клип, и дописал у себя в координатах this.line. Координаты не переводил, т.к. не совсем разобрался через хелп в функциях localToGlobal и наоборот.
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
У пустого клипа, созданного в руте, в координатах 0,0 - зачем переводить координаты? Они такие же как в _root.
__________________
Reality.getBounds(this); |
|
|||||
|
Модрон-ветеринар
|
Согласен, невнимательно отследил ситуацию.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 03:01. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|