Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Проблема с "setInterval", помогите! (http://www.flasher.ru/forum/showthread.php?t=70879)

Molotoff 24.10.2005 13:24

Проблема с "setInterval", помогите!
 
Вложений: 1
вопщем расклад такой:
есть 3 кнопки и соответствующие им 3 мувика(menu) - при нажатии на кнопку, "стартует" соответствующий мувик.
Проигрывание menu подразделяется на 2 стадии: его выезд(menu) при первом нажатии на кнопку и "заезд" при 2м нажатии на кнопку. И так для каждой кнопки.
Задача: нужно сделать задержку "заезда" menu на 1сек.
Проблема: после первого "второго" :) нажатия на кнопку ("заезд"), "выезды" остальных menu аботают, а "заезды" - нет. А надо, чтобы для всех была задержка.! Всё программно.

Часть кода:

// движение меню вперед
function menu_mov_vidv(menu:MovieClip, xmov:Number){
menu.onEnterFrame = function (){
menu._x+=xmov;
if(menu._x>=460){
menu._x=460;
}
}
}
// движение меню назад
function menu_mov_zadv(menu:MovieClip, xmov:Number, nach_x:Number){
// ИНТЕРВАЛ, чтоб его
_global.id = setInterval (function () {
menu.onEnterFrame = function (){
menu._x+=-xmov;
if(menu._x<=nach_x){
menu._x=nach_x;
}
clearInterval (_global.id);
}
}, 1000);
}
_global.menu_mov_vidv;
_global.menu_mov_zadv;

ffffff 24.10.2005 15:09

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

class menu_1 {
public var trg:MovieClip;
public var h1:MovieClip;
public var interval:Number = 3000;
public var showed:Boolean = false;
var intervalID:Number;


function menu_1(in_trg, in_trg2){
this.trg = in_trg;
this.h1 = in_trg2;
}

public function sh(){
if(showed){
clearInterval(this.intervalID);
}else{
this.trg.tween("_y", 80, 1);
this.trg.tween("_alpha", 100, 1);
this.h1.tween("_alpha", 100, 1);
this.showed = true;
}
}

public function hd(){
clearInterval(this.intervalID);
this.showed = false;
this.trg.tween("_y", -120, 1);
this.trg.tween("_alpha", 0, 1);
this.h1.tween("_alpha", 0, 1);
}

public function set_hd(){
this.intervalID = setInterval(this, "hd", this.interval);
//trace("set_hd")
}

}


Часовой пояс GMT +4, время: 07:25.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.