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

tandem 29.11.2009 23:51

Значение метода
 
Добавлено через 24 часа 43 минуты
Еще вопрос по этой теме.

Есть метод загрузки XML xmlAnswer, с описанными для него обработчиками. В обработчике происходит некоторая функция по записи переменной в память.

Как-то можно сделать рабочей конструкцию типа:
Код AS3:

var answered:String = xmlAnswer(getVariable(120,id));

чтобы по запуску этого события в переменную answered попадало строковое значение загруженных из ХМЛ данных?

Естественно что xmlAnswer функция типа void

TanaTiX 30.11.2009 00:06

сделать эту функцию :String

tandem 30.11.2009 00:15

Код AS3:

public function xmlAnswer(request:String, type:String):void {
        var urlRequest: URLRequest = new URLRequest(request);
        var urlLoader: URLLoader = new URLLoader();
 
        urlLoader.addEventListener(Event.COMPLETE, var_put);
 
        try {
                urlLoader.load(urlRequest);
        } catch (error:Error) {
 
        }                       
}

Ведь эта моя функция ничего не возвратит если ей тип поменять? Действие-то происходит в обработчике, который описан отдельной функцией.

Может я конечно затупил, недавно начал только разбираться. Буду признателен за разъяснение.

SamFR 30.11.2009 01:12

Никак. Используйте события либо callback-функцию. Но лучше события.

tandem 30.11.2009 12:52

Ок, пасиб тут что-нить попробую, а вот теперь другая проблема:

Код AS3:

public function var_check(event: Event):void { //Обработчик события, загружающего хмл
...
welcome.but.addEventListener(MouseEvent.CLICK, get_vote);
...
}
 
public function get_vote():void {
trace('click but');
}

Так вот обработчик get_vote не запускается. А если в welcome.but.addEventListener(MouseEvent.CLICK, get_vote); вместо get_vote прописать уже сам метод (типа function ()...), то оно срабатывает.

Как быть? Хотелось бы метод отдельно прописать, а то при выравнивании кода, все портится, и ошибки лезут.

cleptoman 30.11.2009 12:55

public function get_vote(event:MouseEvent):void {
trace('click but');
}


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

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