Добрый день! Делаю резиновый банер. Нашел статью - научился. НО!!! Всё работает только тогда, когда все объекты, которые привязаны к "резиновости" размещаются в первом кадре. Как только добавляешь кадры чтобы сделать анимацию, объекты начинают перемещаться с каждым новым циклом проигрывания банера в сторону увеличения или уменьшения банера. Т.е. уезжают за края куда-то. Как я понял на каждом новом цикле мувик воспринимает своё "уже перемещенное место" как исходное. И каждый раз вновь и вновь перемещает себя.
Задача. Как сделать анимацию мувиклипа, чтобы при этом он перемещался пропорционально растягиванию или сжатию флешки. Т.е. действие перемещения происходило один раз. Но после каждого ресайза окна выполнялось еще один раз.
Ниже привожу код, которым реализована резиновость.
Stage.scaleMode = "noScale";
Stage.align = "TL";
var resize_obj = {};
resize_obj.normal_width = 800;
resize_obj.normal_height = 50;
resize_obj.position = [fon_mc, f1, f2, f3, f4, f5, f6, f7, f8,
f9, f10, f11, f12, f13, f14, f15, f16, f17];
resize_obj.onResize = function(){
var clip;
for (var i in this.position) {
clip = this.position[i];
clip._x = Stage.width*clip._xRatio;
clip._y = Stage.height*clip._yRatio;
// если для клипа определена пропорция по ширине
if (clip._widthRatio != undefined) {
clip._width = Stage.width*clip._widthRatio;
}
// если для клипа определена пропорция по высоте
if (clip._heightRatio != undefined) {
clip._height = Stage.height*clip._heightRatio;
}
}
};
Stage.addListener(resize_obj);
// запоминаем пропорции координат (отношение координат к нормальной ширине/высоте)
var clip;
for (var i in resize_obj.position) {
clip = resize_obj.position[i];
clip._xRatio = clip._x/resize_obj.normal_width;
clip._yRatio = clip._y/resize_obj.normal_height;
}
fon_mc._widthRatio = fon_mc._width/resize_obj.normal_width;
// растягиваем фон на всю флешку
resize_obj.onResize();
|
Никак.
Нужно умудриться сделать всю анимацию в одном кадре, в котором этот код. Советую разместить на сцене сразу все мувики, ненужным сразу _visible = false и stop(), потом уже их показывать и проигрывать, когда "настанет их черёд"
Придумал сам! Вобщем делаем мувик, а в нем анимашку. Если мувиков несколько то запоминаем кадр в котором конец первой анимации и во втором мувике начинаем продолжение анимации с этого кадра. А в начале оставляем пустые кадры. В итоге вся флешка сосотоит из 1 кадра. ))