|
|
|||||
Регистрация: Mar 2009
Сообщений: 105
|
Масштабирование рисунка
Здравствуйте.
Задача : есть мувик mv1, в котором картинка Нужно при наведении мышки делать увеличение, а при убирании мышки - возвращение на прежнее место. Думал сделать так: mv1.onRollOver = function() { i = 0; mv1.onEnterFrame = function() { if (i<2) { mv1._width += 20; mv1._height += 20; mv1._x -= 20; mv1._y += 20; i++; } }; }; mv1.onRollOut = function() { trace(mv1._width); i = 0; mv1.onEnterFrame = function() { if (i<2) { mv1._width -= 20; mv1._height -= 20; mv1._x += 20; mv1._y -= 20; i++; } }; }; Что посоветуете? |
|
|||||
Можно так:
__________________
Платон мне друг, но истина в вине. |
|
|||||
Регистрация: Mar 2009
Сообщений: 105
|
да, но мне надо, чтобы потом мувик возвращался на первоначальное место
Добавлено через 7 минут вроде написал x1 = mv1._x; y1 = mv1._y; w1 = mv1._width; h1 = mv1._height; shag = 5; n = 3; mv1._alpha = 50; mv1.onRollOver = function() { i = 0; mv1._alpha = 100; mv1.onEnterFrame = function() { if ((i<n) && (mv1._width<w1+shag*n) && (mv1._height<h1+shag*n) && (mv1._x>=x1-shag*n) && (mv1._y<=y1+shag*n)) { mv1._width += shag; mv1._height += shag; mv1._x -= shag; mv1._y += shag; i++; } }; }; mv1.onRollOut = function() { i = 0; mv1.onEnterFrame = function() { if ((i<n) && (mv1._width>w1) && (mv1._height>h1) && (mv1._x<=x1) && (mv1._y>=y1)) { mv1._width -= shag; mv1._height -= shag; mv1._x += shag; mv1._y -= shag; i++; } else { mv1._alpha = 50;} }; }; ведь не писать для каждого одно и тоже??? |
|
|||||
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
и.т.п. А лучше каждый мувик опиши одним классом в котором определи эти одинаковые функции
__________________
Отряд Котовскага |
|
|||||
Регистрация: Mar 2009
Сообщений: 105
|
а можно небольшой пример
|
|
|||||
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Пищу прям здесь, за работоспособность не отвечаю..
.. // импортируем Delegate import mx.utils.Delegate .. for (var i :Number=1;i<10;i++) { this["mv"+i].onRollOver = Delegate.create(this["mv"+i],commonOnRollOver); } commonOnRollOver = function() { var i = 0; this._alpha = 100; var x1 =this._x; var y1 = this._y; var w1 = this._width; var h1 =this._height; this.onEnterFrame = function() { if ((i<n) && (this._width<w1+shag*n) && (this._height<h1+shag*n) && (this._x>=x1-shag*n) && (this._y<=y1+shag*n)) { this._width += shag; this._height += shag; this._x -= shag; this._y += shag; i++; } }; }; //..ну и то же самое для onRollOut // Не забудь удалить this.onEnterFrame
__________________
Отряд Котовскага Последний раз редактировалось Котяра; 24.03.2009 в 00:57. |
|
|||||
Регистрация: Mar 2009
Сообщений: 105
|
Спасибо, но что-то не работает.
А как классом можно воспользоваться? |
|
|||||
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Допиши функцию для RollOuta, я и не обещал рабочего примера - просто показал куда копать.
__________________
Отряд Котовскага |
|
|||||
Регистрация: Mar 2009
Сообщений: 105
|
Да, да. Я понял.
В любом случае, большое спасибо за участие! |
|
|||||
var clipNum:Number = 5;// Число клипов for (i=1; i<=clipNum; i++) { this["mv"+i].onRollOver = function() { this.onEnterFrame = function() { if (this._xscale<350) { this._xscale += 20; this._yscale = this._xscale; } else { delete this.onEnterFrame; } }; }; this["mv"+i].onRollOut = function() { this.onEnterFrame = function() { if (this._xscale>100) { this._xscale -= 20; this._yscale = this._xscale; } else { delete this.onEnterFrame; } }; }; } |
Часовой пояс GMT +4, время: 06:20. |
|
« Предыдущая тема | Следующая тема » |
|
|