Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   копирование AS эффектов (http://www.flasher.ru/forum/showthread.php?t=95482)

Shad3 07.05.2007 02:38

копирование AS эффектов
 
Помогите, плиз. У меня есть несколько исходников с AS эффектами, мне нужно их объединить в один. Но когда я копирую в новый файл - эффекты либо совсем работают неправильно, либо не работают, либо жутко тормозят. Копирую так: Выделяю фреймы -> copy, paste в другом файл.

screamge 07.05.2007 02:41

покажите скрипт эффектов до и после

CorC 07.05.2007 10:18

Может проблема в инициализации переменных?
В 6 по умолчанию новая переменная =0, а в 7 =undefined

Kikasso 07.05.2007 10:23

Еще есть волшебное слово add, которое в 8-м плеере другое значит.

Shad3 07.05.2007 16:04

Вот скрипт. В родном файле все работает на ура, когда копирую в другой - начинает жутко тормозить.
Код:

//
function eject () { // выстрел салюта
        //
        ball._visible = true;
        ballTrace._visible = true;
       
        // координаты начала движения
        ball.startx = random(50) + 200;
        ball.starty = 400;
        // размеры
        ball._width = ball._height = 3;
        // параметры движения
        ball.dx = (random(30) - 10)/10;
        ball.dy = - 9;
        ball.grav = .1;
        // цвет
        ballColor = new Color (ball);
        ballColorTransform = new Object ();
        ballColorTransform.ra = random(100);
        ballColorTransform.ga = random(100);
        ballColorTransform.ba = random(100);
        ballColor.setTransform(ballColorTransform);
        // шлейф
        ball.duplicateMovieClip("ballTrace", 0);
        ballTrace._width = ballTrace._height = ball._width*.7;
        // движение
        ball._x = ball.startx;
        ball._y = ball.starty;
        ball.onEnterFrame = function () {
                this.oldx = this._x;
                this.oldy = this._y;
                //
                this._x += this.dx;
                this._y += this.dy;
                this.dy += this.grav;
                //
                ballTrace._x = this.oldx;
                ballTrace._y = this.oldy;
                //
                if (ball._y <=100 ) {
                        bigBadaBum ()
                        delete ball.onEnterFrame;
                }
        };
};
//
function bigBadaBum () { // взрыв салюта
        //
        ball._visible = false;
        ballTrace._visible = false;
        centerx = ball._x;
        centery = ball._y;
       
        // огоньки
        for (i=0;i<100;i++) {
                var clip = ball.duplicateMovieClip("ball"+i,i);
                // координаты начала движения
                clip._x = centerx;
                clip._y = centery;
                // размеры
                clip._width = 1 + random(4);
                clip._height = 1 + random(4);
                // параметры движения
                clip.dx = (random(60) - 30)/10;
                clip.dy = (random(40) - 80)/10;
                clip.grav = (random(60) + 30)/100;
                // цвет
                clipColor = new Color (clip);
                clipColorTransform = new Object ();
                clipColorTransform.ra = random(100);
                clipColorTransform.ga = random(100);
                clipColorTransform.ba = random(100);
                clipColor.setTransform(clipColorTransform);
                // шлейф
                var tracer = clip.duplicateMovieClip("clipTracer"+i,i+500);
                tracer._width = tracer._width*.7;
                tracer._height = tracer._height*.7;
                clip.tracerID = i; // ID для последующего обращения к элементу шлейфа
                // движение
                clip.onEnterFrame = function () {
                        this.oldx = this._x;
                        this.oldy = this._y;
                        //
                        this._x += this.dx;
                        this._y += this.dy;
                        this.dy += this.grav;
                        //
                        eval("clipTracer"+this.tracerID)._x = this.oldx;
                        eval("clipTracer"+this.tracerID)._y = this.oldy;
                        //
                        if (this._y >=500 ) {
                                delete this.onEnterFrame;
                        }
                };
        }
};
//
eject ()
var ejectInterval;
ejectInterval = setInterval(eject,5000);
//clearInterval(ejectInterval);

весь этот скрипт лежит в муви символе Salut, в котором находиться ball,
где ball - муви клип в котором содержиться окружность размера 1x1

а вот исходник http://slil.ru/24338382

iNils 07.05.2007 19:10

1. Для оформления своего кода, надо использовать теги [code][/code].
2. Есть кнопка http://www.flasher.ru/forum/images/r...ttons/edit.gif, поэтому не надо создавать несколько сообщений подряд, надо исправить последнее в теме.

Kikasso 07.05.2007 21:23

Может, кадров в секунду у вас меньше?

CorC 08.05.2007 09:49

У меня работает, жуть.
Да, видимо FPS поднять надо


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

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