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

DissDoc 14.07.2007 17:16

Видимость функций в классе
 
Вообщем проблема :umnik2: У меня не видится переменная класса вот как
Код:

class Test
{
    private var val:Number;

    function mf()
    {
        function slay()
        {
            this.val = 9;
        }

        trace(this.val);
    }
}

Вот. И в результате получаем, что val - undefened. Как сдлать так, чобы к val присвоилось значение. Вложенная функция нужна! Этот класс просто максимально упрощенный!

Kikasso 14.07.2007 17:22

Не надо делать вложеных функций в классах.
Код:

class Test{

private var val:Number = 10;

public function Test(){}

private function slay():Void{
  val = 9;
}
public function mf():Void{
  slay();
  trace(val);
}
}

Возможно, вы просто объявили функцию, но не запустили.

DissDoc 14.07.2007 17:36

А как мне тогда сделать из реального примера (опять же многое сократил)
Код:

class Test()
{
private var val:Number;

function loadMyXml(file_path:String)
{
    var mapXml:XML = new XML();
    mapXml.load(file_path);

    mapXml.onLoad = function(success)
    {
        if (success) {
            val = 9;
        }
    }
trace(val);
}
}


udaaff 14.07.2007 17:48

trace у тебя таким образом не заработает
Если тебе нужно, чтобы какие то действия выполнялись после загрузки хмл, помещай их в onLoad
имхо Вообще лучше в классе хмл не грузить, а грузить в ролике, а класу передавать узел хмл дерева.

DissDoc 14.07.2007 18:04

Спасибо за совет. Так и сделал.

DissDoc 14.07.2007 20:41

Нет. все равно не избавиться от этого! Как передавать переменные/функции во вложенную функцию?(код см выше)

etc 14.07.2007 21:11

Никаких вложенных функций быть не должно. Используйте Delegate (примеры и все такое есть на форуме).


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

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