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

warlock_black 13.03.2006 14:45

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

this.createClassObject(mx.controls.UIScrollBar, "my_sb", 20);
my_sb.setScrollTarget(my_txt);
my_sb.setSize(16, my_txt._height);
my_sb.move(my_txt._x+my_txt._width, my_txt._y);
my_sb._x = 706;
var format1:TextFormat = new TextFormat();
format1.letterSpacing = 0.5;
var loadit_lv:LoadVars = new LoadVars();
loadit_lv.load("news.txt");
loadit_lv.onData = function(src:String) {
if (src != undefined) {
this.my_txt.htmlText = src;
this.my_txt.setTextFormat(format1);
} else {
trace("Could not load text file.");
}
};

Homo Sapiens 13.03.2006 15:33

Код:

var fileNames:Array = new Array(...); //Все имена файлов
 
var loadit_lv:LoadVars = new LoadVars();
 
function GetData(callback:function)
{
loadit_lv.load(fileNames[this._currentframe]);
loadit_lv.onData = callback;
}

Как я понимаю, действия с текстом в каждом кадре разные, соответственно для каждого кадра пишешь функцию, которая будет вызываться при получении данных. И на каждом кадре вешаешь
Код:

GetData(имя твоей функции);
+ пара замечаний:
1. Вопрос явно в раздел для новичков. Ты не знаешь основных принципов ни ООП, ни процедурного программирования, если для тебя это проблема.
2. Старайся не разбивать код по кадрам.
3. Для доступа к данным лучше писать отдельные классы, которые образуют Data Access Layer. В будущем так будет проще.

warlock_black 13.03.2006 16:45

угу, спасиб. попробую:)

1. Вопрос по АС, поэтому в этот раздел. То, что я не знаю основ - это уже другой вопрос:) Програмировать - вынужденное решение, ибо дизайнер.
2. Стараюсь:)
3. Может быть. Что было в Хелпе по решению моей проблемы - то и взял.


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

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