Форум 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)
-   -   Random number loader (http://www.flasher.ru/forum/showthread.php?t=146739)

Jellysq 16.11.2010 21:10

Random number loader
 
Всем привет!
Подскажие пожалуйста как можно создать флэшку, которая будет рэндомно подгружать из внешнего *txt файла данные (в данном случае это будут пятизначные числа, сохраненные в тексовом документе) после каждого нажатия на кнопку?
очень нужна ваша помощь
заранее спасибо!

udaaff 16.11.2010 21:12

Флешка может только загрузить весь файл целиком. Сделайте так, чтобы сервер отдавал при запросе определенное число.

rainbowrussia 16.11.2010 21:47

Ну или загружать весь txt, и выбирать нужное число на основе Math.random().

Jellysq 17.11.2010 14:01

сейчас у меня следующее в файле:
главная сцена - на ней кнопка и movieclip1, при нажатии на кнопку играет movieclip1,. в котором movieclip2.
в movieclip2 анимация, в конце которой появляется movieclip3, содержащий текстовое поле, в которое грузится внешний тексовый файл полностью
из этого текстового файла и нужно сделать рэндомную выборку чисел, расположенных каждое на новой строке
как это можно сделать? помогите пожалуйста...

вот скрипт, с помощью которого загружается сам текстовый документ:
Код AS1/AS2:

var myStyle:TextField.StyleSheet = new TextField.StyleSheet();
content_txt.multiline= true;
content_txt.wordWrap = true;
content_txt.txt = true;
 
var story:XML = new XML();
story.ignoreWhite = true;
story.load("news.txt");
story.onLoad = function () {       
        content_txt.htmlText = story;
}


udaaff 17.11.2010 14:11

Проще всего будет разбить этот файл в массив (String#split()), и из массива уже делать выборку. Хотя можно и непосредственно из строки, не создавая массива, если хотите сэкономить память. Ознакомьтесь с методами класса String.

Jellysq 17.11.2010 14:34

пфф)) совсем ничего не понятно, мои знания в массивах скромны=)
они (знания) бы гораздо преумножлись если увидеть сам скрипт...=)

udaaff 17.11.2010 14:45

Почему вы грузите с помощью класса XML? Тем более что ignoreWhite удаляет все ваши символы переноса. Загружайте с помощью класса LoadVars.
Код AS1/AS2:

var s:String = "100\r\n200324\r\n300\r\n456\r\n543";
var a:Array = s.split("\r\n");
trace(a[Math.floor(Math.random() * a.length)]);

Цитата:

пфф)) совсем ничего не понятно, мои знания в массивах скромны=)
они (знания) бы гораздо преумножлись если увидеть сам скрипт...=)
хелп пробовали открывать?

Jellysq 18.11.2010 20:40

Цитата:

хелп пробовали открывать?
открываю, читаю, пока мало чего доходит до меня а проект надо сделать поскорее:rolleyes:

приведенный выше код выводит числа в окне "output" а не текстовом поле...никак не разберусь как выводить именно текстом в поле самой флэшки?
умею выводиь его только по щелчку мыши

Добавлено через 16 часов 56 минут
ну пожалуйста, кто-нбудь помогите со скриптом...
сейчас делаю следующим образом:
наглавной сцене мывиклип с анимацией, текстовое поле, кнопка(нажатие на нее - вывод числа в текстовое поле)
работает это с помощью след. скрипта:
Код AS1/AS2:

var myName:String;
var random1:Number;
var random2:Number;
var metal:Array = new Array("01749","00928","02458", "10924", "11243", "09627", "02752", "04761", "08926", "07237");
 
generateBtn.addEventListener(MouseEvent.CLICK, makeName);
 
function makeName(evt:MouseEvent):void {
    random1 = Math.floor(Math.random() * metal.length);
        myName = metal[random1];
    resultName.text = myName;
}

только вот анимация в мувиклипе должна засопориться прежде чем появится число в текстовом поле.
подскажите кто-нбудь как изменить скрипт чтоб это работало?
заранее спасибо

sestem 19.11.2010 18:11

хммм хорошая идея

Jellysq 19.11.2010 18:56

как ее до конца реализоваь только?=)


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

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