PDA

Просмотр полной версии : копирование AS эффектов


Shad3
07.05.2007, 02:38
Помогите, плиз. У меня есть несколько исходников с 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. Для оформления своего кода, надо использовать теги .
2. Есть кнопка http://www.flasher.ru/forum/images/russian/style3/buttons/edit.gif, поэтому не надо создавать несколько сообщений подряд, надо исправить последнее в теме.

Kikasso
07.05.2007, 21:23
Может, кадров в секунду у вас меньше?

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