Можно так:
Код AS1/AS2:
var allowTween:Boolean = true ;
var timeOut:Number = 2000;
function allowTweenToTrue () {
allowTween = true ;
}
mybtn1.onRelease = function () {
if (allowTween ) {
var tween_menu:Tween = new Tween(mybtn1, "_x", Elastic.easeOut, mybtn1._x, 100, 1, true);
allowTween = false ;
var id:Number = setTimeout(allowTweenToTrue, timeOut);
}
}
mybtn2.onRelease = function () {
if (allowTween ) {
var tween_menu:Tween = new Tween(mybtn2, "_x", Elastic.easeOut, mybtn2._x, 200, 1, true);
allowTween = false ;
var id:Number = setTimeout(allowTweenToTrue, timeOut);
}
}
mybtn3.onRelease = function () {
if (allowTween ) {
var tween_menu:Tween = new Tween(mybtn3, "_x", Elastic.easeOut, mybtn3._x, 300, 1, true);
allowTween = false ;
var id:Number = setTimeout(allowTweenToTrue, timeOut);
}
}
mybtn4.onRelease = function () {
if (allowTween ) {
var tween_menu:Tween = new Tween(mybtn4, "_x", Elastic.easeOut, mybtn4._x, 400, 1, true);
allowTween = false ;
var id:Number = setTimeout(allowTweenToTrue, timeOut);
}
}
Но лучше сделать одну общую функцию для компактности и переносимости.
Добавлено через 8 минут
Код AS1/AS2:
import mx.transitions.Tween;
var allowTween:Boolean = true ;
var timeOut:Number = 2000;
function allowTweenToTrue () {
allowTween = true ;
}
function mybtnRelease () {
if (allowTween) {
var tween_menu:Tween = new Tween(this, '_x', Elastic.easeOut, this._x, 100 * this.num, 1, true);
allowTween = false ;
var id:Number = setTimeout(allowTweenToTrue, timeOut); //по истечении врмени timeOut триггер allowTween снова будет true и кнопки станут активными
}
}
for (i = 1; i <=4; i++) {
_root['mybtn' + i].num = i;
_root['mybtn' + i].onRelease = mybtnRelease;
}
Добавлено через 19 минут
Или вот это вариант, отключает реагирование кнопки на все события.
Может быть полезно, если нужно вообще деактивировать повдение, в том числе и rollOver, например, если на это событие есть что-то типа анимации кнопок...
Код AS1/AS2:
import mx.transitions.Tween;
var timeOut:Number = 2000;
function mybtnRelease () {
var tween_menu:Tween = new Tween(this, '_x', Elastic.easeOut, this._x, 100 * this.num, 1, true);
manageBtns(false);
var id:Number = setTimeout(manageBtns, timeOut, true);
}
function manageBtns (enab:Boolean) {
for (i = 1; i <=4; i++) {
_root['mybtn' + i].enabled = enab;
}
}
for (i = 1; i <=4; i++) {
_root['mybtn' + i].num = i;
_root['mybtn' + i].onRelease = mybtnRelease;
}
Естественно, _root нужно заменить, если кнопки и код принадлежат другому таймлайну.