Форум 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)
-   -   Как создать тест в ActionScript (http://www.flasher.ru/forum/showthread.php?t=77738)

pavenko 31.03.2006 11:20

Как создать тест в ActionScript
 
Уважаемые специалисты! Очень нужен ответ на следующий вопрос. Я хочу сделать тестовую программу во Flash MX. Проблема с загрузкой фамилий сутдентов. Хочу сделать загрузку из текстового файла, но не форматированного типа переменная-значение, потому что потом преподавателям будет сложно редактировтаь такой файл. А просто файл со списком фамилий. У меня получается с помощью XML загрузить тольок первую строчку, а как загрузить все? Помогите, очень надо. :bb:

Samodelkin 31.03.2006 11:28

Что грузишь, куда грузишь, где код?

pavenko 31.03.2006 11:34

А код господина Ивана Дембицки - загрузка неформатированного текстовика. Только с ним связаться никак не получается, чтобы выяснить этот вопрос по поводу многострочности.
Код
Вначале в самых первых кадрах нужно вставить скрипт:

Movieclip.prototype.loadText = loadText; // помещаем в прототип мувиклипов функцию loadText

function loadText (from, to) { // задаем функцию

var name = "$text_loader"+ to // создаем составное имЯ

this.attachMovie( "$text_loader", name, 9999 ); // аттачим из библиотеки мувик с идентификатором $text_loader и назначаем ему составное имЯ.

this[name].from = from;

this[name].to = to; // передадим этому мувику данные откуда скачивать и куда класть результат

}

затем нужно создать мувиклип с именем $text_loader и в

первом кадре написать:

xmlTemp = new XML(); // создаем объект xml
xmlTemp.load( from ); // говорим загрузить в него текстовый файл имЯ его в переменной from
gotoAndPlay ( 3 ); // и идем проверЯть загрузку

второй кадр оставим пустым.

третий кадр:
if (xmlTemp.loaded) { // если текстовик загружен
_parent[to] = xmlTemp.firstChild.nodeValue; // то поместим его текст в переменную, имЯ которой хранитсЯ в переменной to
removeMovieClip (this); // и удалим этот мувиклип со всем его содержимым - он свое отслужил
} else { // а если текстовик не загружен
prevFrame (); // прыгаем на предыдущий кадр
play (); // и из него входим на повторную проверку загрузки
}

и еще нужно сделать одну маленькую деталь: этому мувику в библиотеке задать linkage identifier - $text_loader всё. теперь в любом месте в любом мувике мы можем вызывать команду типа
_root.loadText("text.txt", "news");

Samodelkin 31.03.2006 12:33

Все равно непонятно, если можежь исходник лучше вместе с текстовым файликом, этот код должен и так выводить все строки.

pavenko 31.03.2006 13:08

Вложений: 2
Проблема в том что даже есди в текстовом файле несколько строк, он видит что там только один узел и выдает количество узлов 1, даже если строк больше. Как правильно записать данные в текстовом файле, чтобы они все виделись как узлы. Высылаю файлы :umnik2:

__i 31.03.2006 13:24

и на кой нам твой компиленый свф?

Код:

var file = new XML()
file.onData = function(txtdata){
        trace(txtdata);
}
file.load('speed.txt')


pavenko 31.03.2006 13:33

Вложений: 1
Извиняюсь :confused: Не тот файл сжала.
На этот раз оно :p

Samodelkin 31.03.2006 13:41

Все там грузится, поставь только у Label в параметрах autosize...

pavenko 31.03.2006 13:52

Хорошо, но это грузится одним элементом!
А мне нужно для тестов, чтобы каждая строчка читалась отдельно. Чтобы потом создать массив этих фамилий. А если они как сейчас сразу все загружаются, то как потом с этим работать?

Samodelkin 31.03.2006 14:10

Код:

<var my_str:String = news;
var my_array:Array = my_str.split("\n");
  for (var i = 0; i<my_array.length; i++) {
        trace(my_array[i])
  }>



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

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