PDA

Просмотр полной версии : Плавное масштабирование


jwp
19.10.2007, 18:39
Здравствуйте!

Я в ActionScript'e полный ноль. :(
Кое-как сделал простое масштабирование мувиклипа:

on (rollOver) {
this._xscale=200;
this._yscale=200;
}

on (rollout) {
this._xscale=100;
this._yscale=100;
}

Все работает, но нужно сделать увеличение плавным. Помогите, третий день читаю про setInterval и mx.transitions - вообще не понимаю, как их применять. :wacko:

Vitlik
19.10.2007, 18:49
читай хелп на тему onEnterFrame

Wolsh
19.10.2007, 18:55
my_mc.onRollOver = function() {
this.onEnterFrame = function(){
this._xscale+=10;
this._yscale+=10;
if (this._xscale == 200){
delete this.onEnterFrame
}
}
}
my_mc.onRollOut = function() {
this.onEnterFrame = function(){
this._xscale-=10;
this._yscale-=10;
if (this._xscale == 100){
delete this.onEnterFrame
}
}
}

jwp
19.10.2007, 20:18
Wolsh, спасибо!!!! :yahoo:

Работает! Но как и почему все равно загадка...

jwp
19.10.2007, 21:13
Wolsh, прошу прощения , в этом коде какой-то глюк, или я что-то не то сделал?

Если резко провести мышью над мувиком, он почему-то резко уменьшается, отражается по вертикали и начинает безостановочно увеличиваться.

К сожалению, сам не могу разобраться...

Mr. Fixit
19.10.2007, 21:25
my_mc.onRollOver = function () {
this.onEnterFrame = function () {
if (this._xscale == 200) {
delete this.onEnterFrame;
} else {
this._xscale += 10;
this._yscale += 10;
}
};
};
my_mc.onRollOut = function () {
this.onEnterFrame = function () {
if (this._xscale == 100) {
delete this.onEnterFrame;
} else {
this._xscale -= 10;
this._yscale -= 10;
}
};
};

jwp
19.10.2007, 21:42
Спасибо огромное! Пашет как часы!

Wolsh
19.10.2007, 23:55
2 Mr. Fixit :victory:
Я ж на скорую руку писал, чтоб саму идею показать, уж без обид :)
а вообще надо наверно <= и >= использовать вместо ==