Форум 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=96892)

Torero 09.06.2007 03:50

Циклический запуск функции.
 
каким образом можно запустить родительскую функцию из дочерней?

Код:

public var n:Number;
private function a(){
    if (n<5){b();}
}

private function b(){
    n++;
    a();
}


screamge 09.06.2007 04:06

а где у вас дочерняя функция? вижу что из первой вызывается вторая, а из второй первая. Если это пишется в классе тогда нужно через конструкотор вызывать первую функцию плюс n должно быть определённо изначально иначе вторая функция не будет вызываться из первой.

Torero 09.06.2007 04:46

Все так, но функция "b" выполняется только 1 раз.(

Код:

сlass Tst{
        public var n:Number;
        public function Tst(){
                n=0;
                a();
        }
        private function a():Void{
                n++;
                if (n < 5) {b();}
        }
        private function b():Void{
                trace("!");
                a();
        }
}


etc 09.06.2007 04:50

В приведенном коде ошибки нет.

screamge 09.06.2007 05:21

выводит 4 восклицательных знака

Torero 09.06.2007 05:42

стою на асфальте, ноги в лыжи обуты..
Почему тогда не работает этот код???

Код:

import mx.core.UIObject;
class classes.tst extends UIObject{
        public var n:Number;
        public var Arr:Array;
        public function tst(){
                n=0;
                Arr=[];
                a();
        }
        private function a():Void{
                n++;
                if (n < 5) {
                        Arr[n]=this.createTextField("pic"+n, this.getNextHighestDepth(), 105*(n-1), 100, 100, 100);
                        Arr[n].html=Arr[n].multiline=Arr[n].wordWrap=true;
                        b("image1.html");}
        }
        private function b(html_path:String):Void{
                var html_pic:XML = new XML();
                html_pic.ignoreWhite = true;
                html_pic.load(html_path);
                trace(n+"; "+html_path+"; "+Arr[n]);
                html_pic.onLoad = function():Void {
                        Arr[n].htmlText = html_pic;
                        trace("!");                               
                        a();                //  !!95% что ошибка здесь.!!
                }
        }
}


screamge 09.06.2007 06:09

Код:

import mx.core.UIObject;
import mx.utils.Delegate;

class classes.tst extends UIObject{
        public var n:Number;
        public var Arr:Array;
        private var html_pic:XML;
        public function tst(){
                html_pic = new XML();
                n=0;
                Arr=[];
                a();
        }
       
        private function a():Void{
                n++;
                if (n < 5) {
                        Arr[n]=this.createTextField("pic"+n, this.getNextHighestDepth(), 105*(n-1), 100, 100, 100);
                        Arr[n].html=Arr[n].multiline=Arr[n].wordWrap=true;
                        b("image1.html");}
        }
        private function b(html_path:String):Void{
               
                html_pic.ignoreWhite = true;
                html_pic.onLoad = Delegate.create (this, this.startNew)
               
                html_pic.load(html_path);
                trace(n+"; "+html_path+"; "+Arr[n]);
        }
       
        private function startNew ():Void {
                Arr[n].htmlText = html_pic;
                trace("!");                               
                a();
        }
}

Если так тоже не работает значит у вас не грузится файл. Да и вообще зачем вы в текстовое поле грузите XML - ы и при том разные??

Torero 09.06.2007 06:25

2 screamge: спасибо, отец.)) реально выручил - сам я долго возился-бы..
отвечая, на вопрос:
http://www.flasher.ru/forum/showthread.php?t=96785

Топик закрыт.


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

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