Очень нравится плавное увеличение/уменьшение кнопок в игре "счастливый фермер" при наведении/отведении курсора мыши, захотел сделать такое же. Вроде бы всё получилось, но работает хреново - иногда дрожит вместо начала увеличения, как бы застряв на старте. Особенно это видно при наведении мыши на самый край мувиклипа.
Прошу разъяснить, что нужно поправить в коде, чтобы работало как часы.
Во вложении исходник CS3
Сам код:

Код AS1/AS2:
var bglowfilter = new flash.filters.GlowFilter();
bglowfilter.color = 0x000000;
bglowfilter.strength = 0.35;
bglowfilter.blurY = 15;
bglowfilter.blurX = 15;
var bglowfilter_arr:Array = new Array();
bglowfilter_arr.push(bglowfilter);
function scbuttons(tar) {
var b1:MovieClip = tar;
b1.filters = bglowfilter_arr;
b1.sc = 100;
b1.scmax = 170;
b1.scdelta = 14;
b1.over = 0;
b1.onRollOver = function() {
this.over = 1;
this.swapDepths(_root.getNextHighestDepth());
scaling();
};
b1.onRollOut = function() {
this.over = 0;
scaling();
};
function scaling() {
if (b1.over == 1) {
b1.onEnterFrame = function() {
if (this.sc<this.scmax) {
this.sc += this.scdelta;
this._xscale = this.sc;
this._yscale = this.sc;
} else {
this.onEnterFrame = null;
}
};
} else {
b1.onEnterFrame = function() {
if (this.sc>100) {
this.sc -= this.scdelta;
this._xscale = this.sc;
this._yscale = this.sc;
} else {
this.onEnterFrame = null;
}
};
}
}
}
scbuttons(b1);
scbuttons(b2);
scbuttons(b3);