![]() |
|
||||||||||
|
|||||
|
Регистрация: Dec 2003
Адрес: SPb
Сообщений: 8
|
Я аттачментом всталяю мувик и прописыванию для него события при наезде на него мышью:
Mc01.onRollOver = function () { for (i=0;i <=20;i++){ setProperty(Mc01,_xscale,100+i); setProperty(Mc01,_yscale,100+i); } } т.е. изменение масштаба при ролловере. Т.к. расчет происходит в одном фрейме - то изменения происходят сразу со 100% на 120%. Подскажите пожалуста как мне написать код чтобы изменение проиходило плавно?? best regards megmage
__________________
don't think - just do it |
|
|||||
|
Через интервалы.
setInterval()
__________________
Учиться и, когда придет время, прикладывать усвоенное к делу - разве это не прекрасно! Беседовать с другом, приехавшим издалека, - разве это не радостно! Не быть по достоинству оцененным светом и не таить обиду - разве это не возвышенно! |
|
|||||
|
[+1.3 05.04.09]
|
зачем же так сложно юзай onEnterFrame
создай на руте мув под именем but и швырни этот код в первый кадр
__________________
Бойтесь китайцев, компы приносящих! |
|
|||||
|
Регистрация: Dec 2003
Адрес: SPb
Сообщений: 8
|
2 Dimonius - я пробовал через setInterval неработает или кривые руки мешают мне сделать правильно
![]() 2 OPEX - понимаешь мне надо сделать именно на RollOver и RollOut == конечно можно сделать по замороченно через createEmptyMovieClip и добавить в него функцию изменения масштаба, а потом на RollOver просто поменять клипы местами.. хотелось всё сделатьв один приход)
__________________
don't think - just do it |
|
|||||
|
[+1.3 05.04.09]
|
ну если не можеш через интервалы то можно конечно придумать и чтото типо этого
__________________
Бойтесь китайцев, компы приносящих! |
|
|||||
|
Знаешь, мрожет я ничего и не понимаю, но может тебе помогут эти комментарии
))
i = 1;
_root.onEnterFrame = function() {
if (_root.but.hitTest(_xmouse, _ymouse, true)) {
//Этот оператор if смотрит, на клипе мышка, или нет!!!
if (_root.but._xscale<=120) {
//Если да, то он проверяет, масштаб мувика на <=120!
_root.but._xscale += i;
_root.but._yscale += i;
//И меняет масштаб, если меньше 120!
}
} else {
//Если мышка не на клипе, то он доводит масштаб до 100!!!
if (_root.but._xscale>=100) {
_root.but._xscale -= i;
_root.but._yscale -= i;
}
}
};
Нет, чтобы попробовать вставить!!! |
|
|||||
|
[+1.3 05.04.09]
|
2K WebStudio я бы даже сам так не смог
![]()
__________________
Бойтесь китайцев, компы приносящих! |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
а я бы покрасил в зеленое :)
MovieClip.prototype.scaleTo = function(scale) {
var step = (scale-this._xscale)*.1;
this._xscale += step;
this._yscale = this._xscale;
return Math.abs(step)>.1;
};
mc.onRollOver = function() {
this.onEnterFrame = function() {
if (!this.scaleTo(150)) {
delete this.onEnterFrame;
}
};
};
mc.onRollOut = function() {
this.onEnterFrame = function() {
if (!this.scaleTo(100)) {
delete this.onEnterFrame;
}
};
};
|
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
или можно еще так сделать:
MovieClip.prototype.scaleTo = function(scale) {
this.scaleTo.scale = scale;
this.onEnterFrame = function() {
var step = (this.scaleTo.scale-this._xscale)*.1;
this._xscale += step;
this._yscale = this._xscale;
if (Math.abs(step)<.1) {
delete this.onEnterFrame;
}
};
};
mc.onRollOver = function() {
this.scaleTo(150);
};
mc.onRollOut = function() {
this.scaleTo(100);
};
Последний раз редактировалось Nox Noctis; 18.12.2003 в 17:00. |
|
|||||
|
[+1.3 05.04.09]
|
загнул однако
__________________
Бойтесь китайцев, компы приносящих! |
![]() |
Часовой пояс GMT +4, время: 07:20. |
|
|
« Предыдущая тема | Следующая тема » |
|
|