Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Повторение действия каждую секунду (http://www.flasher.ru/forum/showthread.php?t=203026)

Digital 26.08.2013 22:29

Повторение действия каждую секунду
 
Мне надо, что бы к переменной N каждую секунду прибавляло переменную K(K динамичная). Как это реализовать средствами АС3(СТРОГО 1 раз в секунду)

Akopalipsis 26.08.2013 22:40

Код AS3:

package  
{
        import flash.display.Sprite;
        import flash.events.TimerEvent;
        import flash.utils.Timer;
        import flash.utils.Timer;
 
        public class NewClass extends Sprite
        {
                private var timer:Timer;
                private var n:Number;
                private var k:Number;
 
                public function NewClass()
                {
                        k = 1;
                        n = 0;
                        timer = new Timer(1000);
                        timer.addEventListener(TimerEvent.TIMER, timer_timerHandler);
                        timer.start();
                }
 
                private function timer_timerHandler(event:TimerEvent):void
                {
                        n += k;
                        trace(n);
                }
 
        }
 
}


Digital 26.08.2013 22:42

Огромное спасибо! 1000 это в милисекундах?

Akopalipsis 26.08.2013 22:43

Незачто! Да.

Digital 26.08.2013 23:54

Ошибка
C:\Users\Администратор\Desktop\NewClass.as, строка 20 1013: Атрибут "private" можно использовать для определений свойств класса.

Akopalipsis 26.08.2013 23:58

я не знаю почему ошибка, но я извиняюсь за то, что забыл написать старт! Исправил.
Наверное вы в кадры этот код переносите?

Digital 27.08.2013 00:21

Вы что) нет конечно)

Akopalipsis 27.08.2013 00:24

Ну тогда я не знаю почему у Вас так. Покажите Ваш код, в моем нет ошибок.

Digital 27.08.2013 00:50

Код AS3:

Основной код(в фла)
import flash.events.MouseEvent;
import flash.display.MovieClip;
import flash.events.Event;
 
 
var cat :MovieClip = new mc_cat;
var speedcat:Number =15;
 
 
txt_cats.text = String(cats);
 
txt_speedCats.text = String(speedCats);
 
 
 
function addcat():void {
        addChild(cat);
        cat.x= Math.random()*800;
        cat.y= 0;
        cat.addEventListener (Event.ENTER_FRAME ,moveCat);
}
function moveCat(e:Event ):void {
 
                cat.y +=speedcat;
 
        }
 
button_1.addEventListener(MouseEvent.CLICK, catclick);
 
function catclick(event:MouseEvent):void
{
 
        addcat();
        cats = cats + 1
        txt_cats.text = String(cats);
}

А вот класс
Код AS3:

package  {
 
        import flash.display.MovieClip;
        import flash.display.Sprite;
        import flash.events.TimerEvent;
        import flash.utils.Timer;
 
        public class NewClass extends MovieClip {
                private var cats:Number=0       
private var speedCats:Number=0
 
                public function NewClass() {
                        {
                        speedCats = 1;
                        speedCats = 0;
                        var timer:Timer = new Timer(1000);
                        timer.addEventListener(TimerEvent.TIMER, timer_timerHandler);
                }
 
                private function timer_timerHandler(event:TimerEvent):void
                {
                        cats += speedCats;
                }
                }
        }
 
}


in4core 27.08.2013 01:07

Akopalipsis - ай яай яай

Код AS3:

package  
{
        import flash.display.Sprite;
        import flash.events.TimerEvent;
        import flash.utils.Timer;
 
        public class NewClass extends Sprite
        {
                private var k:uint = 0;
 
                public function NewClass()
                {
                        var timer:Timer = new Timer(1000);
                        timer.addEventListener(TimerEvent.TIMER, timerHandler);
                        timer.start();
                }
 
                private function timerHandler(event:TimerEvent):void
                {
                        k ++;
                        trace(k);
                }
 
        }
 
}

Не учите людей криво писать. И таймер бы приватом сделать.

Digital - Не пишите в кадрах вообще, это вопервых. Во вторых - класс, что написали вам, вы не подцепляете


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

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