darksranger
30.07.2008, 10:02
план действий:
рисуем квадрат
накладываем на него glow ( получается светящийся квадрат )
далее tween классом делаем анимацию ( elastic.easeOut )
и вот тут чудеса, без glow все отлично, с glow тормозит анимация!
Пока вышел из положение, благодаря photoshop's ( нарисовал там квадрат, наложил glow и експортировал в flash )
анимация не тормозит
Как сделать чтобы glow не тормозил ?
Анимация была полностью программная ( аналог фрэймовый тормозит так же )
Код, мало ли я где то, что то не удаляю
import flash.filters.GlowFilter;
import mx.transitions.Tween;
import mx.transitions.easing.*;
_global.createRectGlow = function(nameMc, filter, w, h, x_, y_, bgc, color, b, s, q, iner, visibl) {
var w:Number = w;
var h:Number = h;
var bgColor:Number = bgc;
var rect:MovieClip = _root.createEmptyMovieClip(nameMc, _root.getNextHighestDepth());
rect.beginFill(bgColor);
rect.lineTo(w, 0);
rect.lineTo(w, h);
rect.lineTo(0, h);
rect.lineTo(0, 0);
rect._x = x_;
rect._y = y_;
rect._visible = visibl;
if (filter == "yes") {
var filter:GlowFilter = new GlowFilter(color, .8, b, b, s, q, iner, iner);
var filterArray:Array = new Array();
filterArray.push(filter);
rect.filters = filterArray;
}
};
nameMc = "_mc";
filter = "yes";
w = 492.5;
h = 374.1;
x_ = 155.4;
y_ = 161.2;
bgc = 0xFFFFFF;
color = 0xFFFFFF;
b = 11;
s = 2;
q = 3;
iner = false;
visibl = false;
_global.createRectGlow(nameMc, filter, w, h, x_, y_, bgc, color, b, s, q, iner, visibl);
nameMc = "_mc2"
filter = "yes"
w = 531.1
h = 428.5
x_ = 131.7
y_ = 140.2
bgc = 0xFFFFFF
color = 0xFFFFFF
b = 5
s = 2
q = 3
iner = true
_global.createRectGlow (nameMc,filter,w,h,x_,y_,bgc,color,b,s,q,iner,false)
_mc._visible = false
function tweening() {
clearInterval(videoInterval);
_mc._visible = true;
time = 0.8;
var pageTween1:Tween = new Tween(_mc, "_height", Elastic.easeOut, _mc._height, 430, time, true);
var pageTween2:Tween = new Tween(_mc, "_width", Elastic.easeOut, _mc._width, 530, time, true);
var pageTween3:Tween = new Tween(_mc, "_x", Elastic.easeOut, _mc._x, 131, time, true);
var pageTween4:Tween = new Tween(_mc, "_y", Elastic.easeOut, _mc._y, 141.0, time, true);
}
var videoInterval:Number = setInterval(tweening, 730);
function tweening_echo () {
clearInterval (echoInterval)
trace("4e")
_mc2._visible = true
time = 1.4
var echoTween1:Tween = new Tween(_mc2, "_height", Strong.easeOut, _mc2._height, 465.1, time, true);
var echoTween2:Tween = new Tween(_mc2, "_width", Strong.easeOut, _mc2._width, 573.8, time, true);
var echoTween3:Tween = new Tween(_mc2, "_x", Strong.easeOut, _mc2._x, 110.5, time, true);
var echoTween4:Tween = new Tween(_mc2, "_y", Strong.easeOut, _mc2._y, 121.9, time, true);
var echoTween5:Tween = new Tween(_mc2, "_alpha", Strong.easeOut, _mc2._alpha, 50, time, true);
var echoTween5:Tween = new Tween(_mc2, "_alpha", Strong.easeOut, _mc2._alpha, 0, time, true);
}
var echoInterval:Number = setInterval(tweening_echo,800)
Xотелось бы, сделать все програмно...
рисуем квадрат
накладываем на него glow ( получается светящийся квадрат )
далее tween классом делаем анимацию ( elastic.easeOut )
и вот тут чудеса, без glow все отлично, с glow тормозит анимация!
Пока вышел из положение, благодаря photoshop's ( нарисовал там квадрат, наложил glow и експортировал в flash )
анимация не тормозит
Как сделать чтобы glow не тормозил ?
Анимация была полностью программная ( аналог фрэймовый тормозит так же )
Код, мало ли я где то, что то не удаляю
import flash.filters.GlowFilter;
import mx.transitions.Tween;
import mx.transitions.easing.*;
_global.createRectGlow = function(nameMc, filter, w, h, x_, y_, bgc, color, b, s, q, iner, visibl) {
var w:Number = w;
var h:Number = h;
var bgColor:Number = bgc;
var rect:MovieClip = _root.createEmptyMovieClip(nameMc, _root.getNextHighestDepth());
rect.beginFill(bgColor);
rect.lineTo(w, 0);
rect.lineTo(w, h);
rect.lineTo(0, h);
rect.lineTo(0, 0);
rect._x = x_;
rect._y = y_;
rect._visible = visibl;
if (filter == "yes") {
var filter:GlowFilter = new GlowFilter(color, .8, b, b, s, q, iner, iner);
var filterArray:Array = new Array();
filterArray.push(filter);
rect.filters = filterArray;
}
};
nameMc = "_mc";
filter = "yes";
w = 492.5;
h = 374.1;
x_ = 155.4;
y_ = 161.2;
bgc = 0xFFFFFF;
color = 0xFFFFFF;
b = 11;
s = 2;
q = 3;
iner = false;
visibl = false;
_global.createRectGlow(nameMc, filter, w, h, x_, y_, bgc, color, b, s, q, iner, visibl);
nameMc = "_mc2"
filter = "yes"
w = 531.1
h = 428.5
x_ = 131.7
y_ = 140.2
bgc = 0xFFFFFF
color = 0xFFFFFF
b = 5
s = 2
q = 3
iner = true
_global.createRectGlow (nameMc,filter,w,h,x_,y_,bgc,color,b,s,q,iner,false)
_mc._visible = false
function tweening() {
clearInterval(videoInterval);
_mc._visible = true;
time = 0.8;
var pageTween1:Tween = new Tween(_mc, "_height", Elastic.easeOut, _mc._height, 430, time, true);
var pageTween2:Tween = new Tween(_mc, "_width", Elastic.easeOut, _mc._width, 530, time, true);
var pageTween3:Tween = new Tween(_mc, "_x", Elastic.easeOut, _mc._x, 131, time, true);
var pageTween4:Tween = new Tween(_mc, "_y", Elastic.easeOut, _mc._y, 141.0, time, true);
}
var videoInterval:Number = setInterval(tweening, 730);
function tweening_echo () {
clearInterval (echoInterval)
trace("4e")
_mc2._visible = true
time = 1.4
var echoTween1:Tween = new Tween(_mc2, "_height", Strong.easeOut, _mc2._height, 465.1, time, true);
var echoTween2:Tween = new Tween(_mc2, "_width", Strong.easeOut, _mc2._width, 573.8, time, true);
var echoTween3:Tween = new Tween(_mc2, "_x", Strong.easeOut, _mc2._x, 110.5, time, true);
var echoTween4:Tween = new Tween(_mc2, "_y", Strong.easeOut, _mc2._y, 121.9, time, true);
var echoTween5:Tween = new Tween(_mc2, "_alpha", Strong.easeOut, _mc2._alpha, 50, time, true);
var echoTween5:Tween = new Tween(_mc2, "_alpha", Strong.easeOut, _mc2._alpha, 0, time, true);
}
var echoInterval:Number = setInterval(tweening_echo,800)
Xотелось бы, сделать все програмно...