![]() |
|
||||||||||
|
|||||
|
Хочу сделать эффект выжигания лазером, но чето не могу вдуплить как именно попроще осуществить само движение лазера (покадрово не хочется возиться
). Конкретнее - луч лазера выходит из ОДНОЙ точки, и выжигает контур рисунка. Контур состоит из кривых.Пару раз я уже использовал этот эффект, никаких трудностей не возникало - первый раз лазер исходил НЕ из одной точки, и поэтому его движение осуществлялось guide-анимацией. Второй раз контур объекта состоял из прямых, поэтому движение лазера я сделал просто через shape. Но в данной ситуации это не покатит... Подскажите выход ![]() |
|
|||||
|
ну например вот...вставь в первый кадр:
x = 20;
y = 380;
i = 1;
_root.lineStyle(1, 0);
moveTo(275, 20);
lineTo(x, y);
_root.onEnterFrame = function() {
x += i;
if (x>530 || x<20) {
i = -i;
}
a += .05;
y = 300+Math.sin(a)*50;
clear();
lineStyle(1, 0xff0000);
moveTo(275, 20);
lineTo(x, y);
};
_root.createEmptyMovieClip("mc", 1);
mc.onEnterFrame = function() {
with (mc) {
lineStyle(1, 0);
moveTo(x-.5, y-.5);
lineTo(x, y);
}
};
|
|
|||||
|
Спасибо, но вот только что делать если "выжигаемый" контур достаточно сложный чтоб задать его формулой?
|
|
|||||
|
нарисуй мышью (или обведи готовый контур) и запиши координаты в массив. Потом при "рисовании" лазером бери координаты из массива. Тут на форуме достаточно примеров того как это делается, поищи...
|
|
|||||
|
Пасиба, поищу!
|
|
|||||
|
Я вроде как нашел подходящий для моего случая способ - пустил объект по guide, и использовал динамическое изменение его координат как координаты конечной точки при прорисовке линии лазера. Получилось почти то что мне надо
![]() Вот только опять возникла проблемка. Исходник я вложил, только он очень сырой - просто наброски, так что не надо критиковать графическую сторону И вообще - я только учусь Суть проблемы - при переходе на второй кадр (после отрисовки лазером контура) начинаются дикие тормозняки - загрузка проца 100%, даже анимация внизу справа (крутящаяся радиация) замирает... Я сначала думал что это функция, которая прорисовывает лазер, продолжает шо-то вычислять, поэтому вставил эту функцию в объект, который удаляется вместе с последним лучом лазера... Но тормоза не исчезли... Может это просто из-за альфы? Но почему тогда нет тормозов если swf содержит только картинку со второго кадра ? И если сделать второй кадр пустым, то тоже все будет ОК... По отдельности все работает, а вместе - тормозит... HELP!!! |
|
|||||
|
Не получилось вложить исходник
Надеюсь щас все будет ок ![]() |
![]() |
Часовой пояс GMT +4, время: 17:10. |
|
|
« Предыдущая тема | Следующая тема » |
|
|