Показать сообщение отдельно
Старый 09.10.2009, 10:00
Ануб вне форума Посмотреть профиль Отправить личное сообщение для Ануб Найти все сообщения от Ануб
  № 1  
Ответить с цитированием
Ануб

Регистрация: Nov 2007
Сообщений: 28
По умолчанию Гладкое увеличение кнопок

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

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

Во вложении исходник 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);
Вложения
Тип файла: zip buttons.zip (6.8 Кб, 47 просмотров)