Форум 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)
-   -   не выполняется функция (http://www.flasher.ru/forum/showthread.php?t=133851)

rem345690 14.12.2009 21:12

не выполняется функция
 
Привет всем. Прощу прощения за корявый код. )

проблема в том что функция "moo" никак нехочет выполняться. эта функция должна хаотично рисовать линии от точки к точки "mc"+k.


Код:

// 

var numb:Number = 0;

for (k=0; k<100; k++) {
        duplicateMovieClip(this.mc, "mc"+k, k); ///// дублируем мувик
       
       
/////////////////// рисуем линию
_root["mc"+k].onRollOver = function() {
                inp.lineStyle(2,"0xFF"+random(9999),100);
                inp.lineTo(this._x,this._y);
                this._alpha = 50;

                numb++; /////// счетчик количества линий
                trace(numb);
                if (numb>=10) {    ///// если линий больше 10 запускаем "moo"
                        trace("ок");
                        setInterval(moo,random(1000));

                        function moo() {
                                trace("moo");
                                k = random(100);
                                inp.lineStyle(2,"0xFF"+random(9999),100);
                                inp.lineTo(_root["mc"+k]._x,_root["mc"+k]._y);
                        }
                }

        };
}


Zik. 14.12.2009 22:11

Код AS1/AS2:

 //  
 
var numb:Number = 0;
function moo():Void {
        trace("moo");
        k = random(100);
        inp.lineStyle(2,"0xFF"+random(9999),100);
        inp.lineTo(_root["mc"+k]._x,_root["mc"+k]._y);
}
for (k=0; k<100; k++) {
        duplicateMovieClip(this.mc, "mc"+k, k); ///// дублируем мувик
 
 
/////////////////// рисуем линию
_root["mc"+k].onRollOver = function():Void {
                inp.lineStyle(2,"0xFF"+random(9999),100);
                inp.lineTo(this._x,this._y);
                this._alpha = 50;
 
                numb++; /////// счетчик количества линий
                trace(numb);
                if (numb>=10) {    ///// если линий больше 10 запускаем "moo"
                        trace("ок");
                        setInterval(moo,random(1000));
                }
 
        };
}

Не объявляйте функцию в циклах

rem345690 15.12.2009 02:35

CСпаибо! все работает


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

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