Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Добавление предметов через определенное время n раз (http://www.flasher.ru/forum/showthread.php?t=206117)

CinCun 14.01.2014 00:33

Добавление предметов через определенное время n раз
 
Вложений: 2
Здравствуйте. Как сделать так, что бы каждые 3 (например) секунды. кол-во мувиклипов на сцене увеличивалось в N раз. И что бы это действие происходило заданное кол-во раз. Я пробовал так
Код AS3:

function DNI(event:MouseEvent):void
  {
    var t:Number = NUD3.value;
 
    _timer2 = new Timer(1000,t);
    _timer2.addEventListener(TimerEvent.TIMER_COMPLETE, init);
    _timer2.start();
 
 
  }
function init(event:TimerEvent) : void{
        start_btn1.removeEventListener(MouseEvent.MOUSE_DOWN,DNI)
 
        var sn:Number = (NUD1.value*(Math.pow(NUD2.value, k) -1))/(NUD2.value-1);
 
 
                for (var j: int = 1; j <NUD3.value; j++){
                var mc: MovieClip = new MyMovieClip();
                var angle: Number = Math.random() * Math.PI * 2;
                var speed: Number = 2;
                mc.x = 40 + Math.random()*380;
                mc.y = 30+ Math.random()*380;
                                mc.dx = Math.cos(angle) * speed;
                mc.dy = Math.sin(angle) * speed;
                mc.rotation = Math.random() * 360;
 
                addChild(mc);
 
                items.push(mc);
                }       
k++
}

Прилагаю архив с исходником. Если я не совсем ясно обьяснил проблему, и вам не лень мне помочь, то добавляйтесь в скайп wowbest1997. Заранее спасибо:)

Isfet 14.01.2014 06:16

если пересохраните в cs5, то как будет время - гляну

CinCun 14.01.2014 23:16

Вложений: 1
Пересохранил в CS5, заранее благодарен за помощь)

Isfet 15.01.2014 06:12

вот тут вы говорите таймеру, чтобы он считал t-раз до 1 секунды,
а подписываетесь на сыбытие - когда таймер закончит счет.
то есть он сработает 1 раз, когда таймер просчитает t-раз по секунде.
Код AS3:

var t:Number = NUD3.value;
 
    _timer2 = new Timer(1000,t);
    _timer2.addEventListener(TimerEvent.TIMER_COMPLETE, init);

нужно заменить на
Код AS3:

var t:Number = NUD3.value;
 
    _timer2 = new Timer(1000,t);
    _timer2.addEventListener(TimerEvent.TIMER, init);

тогда функция init будет вызываться нужное количество раз

CinCun 15.01.2014 23:02

Спасибо большое, все починил, теперь все работает. :victory:


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

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