|
|
|||||
Регистрация: Feb 2006
Сообщений: 36
|
как упростить
Люди как упростить этот код:
on (rollOver) { _root.light.swapDepths(40); startDrag(_root.light, true); //объект воздействия d3 this.swapDepths(100); new mx.transitions.Tween(this, "_xscale", null, this._xscale, 150, 5); new mx.transitions.Tween(this, "_yscale", null, this._yscale, 150, 5); //объект d1 this._parent.d1.swapDepths(96); new mx.transitions.Tween(this._parent.d1, "_xscale", null, this._parent.d1._xscale, 120, 5); new mx.transitions.Tween(this._parent.d1, "_yscale", null, this._parent.d1._yscale, 120, 5); new mx.transitions.Tween(this._parent.d1, "_x", null, this._parent.d1._x, this._parent.d1._x += 1, 5); new mx.transitions.Tween(this._parent.d1, "_y", null, this._parent.d1._y, this._parent.d1._y, 5); //объект d2 this._parent.d2.swapDepths(98); new mx.transitions.Tween(this._parent.d2, "_xscale", null, this._parent.d2._xscale, 130, 5); new mx.transitions.Tween(this._parent.d2, "_yscale", null, this._parent.d2._yscale, 130, 5); new mx.transitions.Tween(this._parent.d2, "_x", null, this._parent.d2._x, this._parent.d2._x += 1, 5); new mx.transitions.Tween(this._parent.d2, "_y", null, this._parent.d2._y, this._parent.d2._y, 5); //объект this._parent.d4 this._parent.d4.swapDepths(98); new mx.transitions.Tween(this._parent.d4, "_xscale", null, this._parent.d4._xscale, 130, 5); new mx.transitions.Tween(this._parent.d4, "_yscale", null, this._parent.d4._yscale, 130, 5); new mx.transitions.Tween(this._parent.d4, "_x", null, this._parent.d4._x, this._parent.d4._x += 1, 5); new mx.transitions.Tween(this._parent.d4, "_y", null, this._parent.d4._y, this._parent.d4._y, 5); //объект d5 this._parent.d5.swapDepths(96); new mx.transitions.Tween(this._parent.d5, "_xscale", null, this._parent.d5._xscale, 120, 5); new mx.transitions.Tween(this._parent.d5, "_yscale", null, this._parent.d5._yscale, 120, 5); new mx.transitions.Tween(this._parent.d5, "_x", null, this._parent.d5._x, this._parent.d5._x += 1, 5); new mx.transitions.Tween(this._parent.d5, "_y", null, this._parent.d5._y, this._parent.d5._y, 5); //объект d6 this._parent.d6.swapDepths(94); new mx.transitions.Tween(this._parent.d6, "_xscale", null, this._parent.d6._xscale, 110, 5); new mx.transitions.Tween(this._parent.d6, "_yscale", null, this._parent.d6._yscale, 110, 5); new mx.transitions.Tween(this._parent.d6, "_x", null, this._parent.d6._x, this._parent.d6._x += 1, 5); new mx.transitions.Tween(this._parent.d6, "_y", null, this._parent.d6._y, this._parent.d6._y, 5); //объект c1 this._parent.c1.swapDepths(90); new mx.transitions.Tween(this._parent.c1, "_xscale", null, } on (rollOut) { //объект воздействия d3 new mx.transitions.Tween(this, "_xscale", null, this._xscale, 100, 5); new mx.transitions.Tween(this, "_yscale", null, this._yscale, 100, 5); //свойства transition'а для объекта d1 new mx.transitions.Tween(this._parent.d1, "_xscale", null, this._parent.d1._xscale, 100, 5); new mx.transitions.Tween(this._parent.d1, "_yscale", null, this._parent.d1._yscale, 100, 5); new mx.transitions.Tween(this._parent.d1, "_x", null, this._parent.d1._x, this._parent.d1._x -= 1, 5); new mx.transitions.Tween(this._parent.d1, "_y", null, this._parent.d1._y, this._parent.d1, 5); //свойства transition'а для объекта d2 new mx.transitions.Tween(this._parent.d2, "_xscale", null, this._parent.d2._xscale, 100, 5); new mx.transitions.Tween(this._parent.d2, "_yscale", null, this._parent.d2._yscale, 100, 5); new mx.transitions.Tween(this._parent.d2, "_x", null, this._parent.d2._x, this._parent.d2._x -= 1, 5); new mx.transitions.Tween(this._parent.d2, "_y", null, this._parent.d2._y, this._parent.d2, 5); //свойства transition'а для объекта this._parent.d4 new mx.transitions.Tween(this._parent.d4, "_xscale", null, this._parent.d4._xscale, 100, 5); new mx.transitions.Tween(this._parent.d4, "_yscale", null, this._parent.d4._yscale, 100, 5); new mx.transitions.Tween(this._parent.d4, "_x", null, this._parent.d4._x, this._parent.d4._x -= 1, 5); new mx.transitions.Tween(this._parent.d4, "_y", null, this._parent.d4._y, this._parent.d4, 5); //свойства transition'а для объекта d5 new mx.transitions.Tween(this._parent.d5, "_xscale", null, this._parent.d5._xscale, 100, 5); new mx.transitions.Tween(this._parent.d5, "_yscale", null, this._parent.d5._yscale, 100, 5); new mx.transitions.Tween(this._parent.d5, "_x", null, this._parent.d5._x, this._parent.d5._x -= 1, 5); new mx.transitions.Tween(this._parent.d5, "_y", null, this._parent.d5._y, this._parent.d5, 5); //свойства transition'а для объекта d6 new mx.transitions.Tween(this._parent.d6, "_xscale", null, this._parent.d6._xscale, 100, 5); new mx.transitions.Tween(this._parent.d6, "_yscale", null, this._parent.d6._yscale, 100, 5); new mx.transitions.Tween(this._parent.d6, "_x", null, this._parent.d6._x, this._parent.d6._x -= 1, 5); new mx.transitions.Tween(this._parent.d6, "_y", null, this._parent.d6._y, this._parent.d6, 5); //свойства transition'а для объекта c1 new mx.transitions.Tween(this._parent.c1, "_xscale", null, this._parent.c6._y, this._parent.c6, 5); } Это естевственно только часть. Дело в том что он весит не много 54 кило, но вот при проигывании начинает зависать. Может есть проги для оптимизации кода. Спасибо |
|
|||||
Регистрация: Jan 2002
Адрес: СПб-Denver-Лермонтов
Сообщений: 1,525
|
А что ты, вообще, хочешь сделать? Для чего этот код? Может быть, лучше выложить исходник и сформулировать задачу?
__________________
Для того чтобы узнавать, есть два способа: - задавать вопросы и пытаться самому на них ответить. Второй способ более продуктивный. (S.Wizard) |
|
|||||
Регистрация: Feb 2006
Сообщений: 36
|
подробнее
В принципе это и есть часть исходника. Извините весь код здесь выложить нельзя в связи с лимитами на кол-во символов, да и не нужно по-моему. А сделать я хочу следующее: при нажатии на один мувик остальные увеличивются "на спад". Например первый имеет размер 150%, второй 140%, третий 130% и т.д.Главный в середине а те которые подвергаются изменению вместе с ним находятся вокруг него. Главный мувик соответсвенно самый крупный остальные меньше
|
|
|||||
Регистрация: Nov 2004
Адрес: Санкт-Петербург
Сообщений: 751
|
Ну так сделай программно. Зачем тебе tween? У тебя же все клипы в массиве (ведь верно?). Пробегайся по массиву и изменяй...
__________________
Всё гениальное просто. |
|
|||||
Регистрация: Jun 2005
Адрес: Moscow - immigrate from Volgodonsk
Сообщений: 2,534
|
во-первых используй code
во-вторых это полная жесть :-) вот чем отличается программист от аниматора :-) |
|
|||||
Регистрация: Feb 2006
Сообщений: 36
|
а как без tween'а сделать замедление анимации. И потом думаешь код будет легче если я буду менять св-ва мувиков в массиве. Там почти нет одинаково анимируемых мувиков. Каждый смещается немного по другому. И что значит программно, анимация и так сейчас программная не ключевыми же кадрами я это сделал. Вообще если кто то понял задачу если не сложно может бросите кусок кода как вы это видите. Спасибо
|
|
|||||
Регистрация: Jan 2006
Адрес: El Paso
Сообщений: 201
|
Пользовательский метод tweenTo
Во многих книжках приводится вот такой пример расширения класса MovieClip методом tweenTo
//MOVIECLIP CLASS EXTENSION //$FPS - framerate in your film MovieClip.prototype.tweenTo = function(targetsObj, time, callbackObj, callbackFunc, callbackArgs) { var noo; if (this.tweenControl) { noo = this.tweenControl; } else { noo = this.createEmptyMovieClip("tweenControl", ++this.depth); } noo.targetsObj = targetsObj; noo.callbackObj = callbackObj; noo.callbackFunc = callbackFunc; noo.callbackArgs = callbackArgs; noo.timespeed = time; noo.frameNum = 0; noo.frames = noo.timespeed*$FPS; noo.step_arr = new Array(); var i = 0; for (var prop in noo.targetsObj) { noo.step_arr[i] = (noo._parent[prop]<=noo.targetsObj[prop] ? 1 : -1)*Math.abs((noo.targetsObj[prop]-noo._parent[prop])/noo.frames); i++; } noo.onEnterFrame = function() { this.frameNum++; i = 0; for (var prop in this.targetsObj) { this._parent[prop] += this.step_arr[i]; i++; } if (this.frameNum == this.frames) { this.callbackObj[this.callbackFunc](this.callbackArgs); this.removeMovieClip(); } }; }; Пример использования в коде: На самом деле существующий в AS 2.0 класс Tween вырос тоже примерно отсюда.
__________________
No war, make Flash. |
Часовой пояс GMT +4, время: 15:35. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|