![]() |
|
||||||||||
|
|||||
|
Регистрация: Jul 2004
Сообщений: 6
|
Подскажите пож-та, как сделать программно плавое движение/изменение..... хочется сделать это в функции, которая могла-бы вызываться из любого места клипа....
|
|
|||||
|
Например:
|
|
|||||
|
Регистрация: Apr 2001
Адрес: Moscow
Сообщений: 1,475
|
http://www.sharedfonts.com/tests/001mac_menu.html
- здесь сделана вся анимация с помощью одной функции (ниже). Параметры ее просты: prop - строка, название свойства. например "_x" targ - число, значение к которому должно стремиться свойство. friction - число от 0 до 1, сопротивление среды. - необязательный параметр, по умолчанию имеет значение 0.3 elasticity - число от 0 до 1, эластичность. - необязательный параметр, по умолчанию имеет значение 0.95. Object.prototype.elasticProp = function(prop, targ, friction, elasticity) {
var n = (this._target+prop), e = arguments.callee, t = clearInterval(e[n]), t = this, step, friction = 1-(friction || e.friction), elasticity = elasticity || e.elasticity, intr = e[n]=setInterval(function () {
step += (targ-t[prop])*elasticity, t[prop] += (step *= friction);
if (Math.abs(step)>.05 || Math.round(t[prop]) != Math.round(targ)) {
return;
}
t[prop]=targ, clearInterval(intr), t.onElasticPropEnd(prop, targ);
}, 10);
};
// set Default values of elasticProp
elasticProp.friction = .3;
elasticProp.elasticity = .95;
сделай мувик и повесть на него onClipEvent(load) { this.elasticProp("_x", 200, .4, .9) } - затем меняй аргументы и смотри что получится. ++ по достижении нужного результата, функция вызывает функцию в том же объекте, с именем onElasticPropEnd. например добавь: onClipEvent(load) { this.onElasticPropEnd = function () { trace(arguments) } } |
![]() |
Часовой пояс GMT +4, время: 16:59. |
|
|
« Предыдущая тема | Следующая тема » |
|
|