Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы (http://www.flasher.ru/forum/forumdisplay.php?f=10)
-   -   Эффект выжигания лазером (http://www.flasher.ru/forum/showthread.php?t=48278)

Masta SPiN 22.08.2003 02:05

Эффект выжигания лазером
 
Хочу сделать эффект выжигания лазером, но чето не могу вдуплить как именно попроще осуществить само движение лазера (покадрово не хочется возиться :) ). Конкретнее - луч лазера выходит из ОДНОЙ точки, и выжигает контур рисунка. Контур состоит из кривых.
Пару раз я уже использовал этот эффект, никаких трудностей не возникало - первый раз лазер исходил НЕ из одной точки, и поэтому его движение осуществлялось guide-анимацией. Второй раз контур объекта состоял из прямых, поэтому движение лазера я сделал просто через shape. Но в данной ситуации это не покатит... Подскажите выход :)

derhab 22.08.2003 09:31

ну например вот...вставь в первый кадр:
Код:

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);
        }
};


Masta SPiN 22.08.2003 22:42

Спасибо, но вот только что делать если "выжигаемый" контур достаточно сложный чтоб задать его формулой?

derhab 23.08.2003 00:01

нарисуй мышью (или обведи готовый контур) и запиши координаты в массив. Потом при "рисовании" лазером бери координаты из массива. Тут на форуме достаточно примеров того как это делается, поищи...

Masta SPiN 23.08.2003 00:17

Пасиба, поищу!

Masta SPiN 27.08.2003 19:39

Я вроде как нашел подходящий для моего случая способ - пустил объект по guide, и использовал динамическое изменение его координат как координаты конечной точки при прорисовке линии лазера. Получилось почти то что мне надо :)

Вот только опять возникла проблемка. Исходник я вложил, только он очень сырой - просто наброски, так что не надо критиковать графическую сторону :) И вообще - я только учусь :) Суть проблемы - при переходе на второй кадр (после отрисовки лазером контура) начинаются дикие тормозняки - загрузка проца 100%, даже анимация внизу справа (крутящаяся радиация) замирает... Я сначала думал что это функция, которая прорисовывает лазер, продолжает шо-то вычислять, поэтому вставил эту функцию в объект, который удаляется вместе с последним лучом лазера... Но тормоза не исчезли... Может это просто из-за альфы? Но почему тогда нет тормозов если swf содержит только картинку со второго кадра ? И если сделать второй кадр пустым, то тоже все будет ОК... По отдельности все работает, а вместе - тормозит... HELP!!!

Masta SPiN 27.08.2003 19:46

Исходник!
 
Вложений: 1
Не получилось вложить исходник :rolleyes: Надеюсь щас все будет ок :)


Часовой пояс GMT +4, время: 17:55.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.