Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 13.10.2012, 08:21
Вопросник вне форума Посмотреть профиль Отправить личное сообщение для Вопросник Найти все сообщения от Вопросник
  № 11  
Ответить с цитированием
Вопросник
[+6 09.10.12]

Регистрация: Sep 2012
Сообщений: 33
Нет, не знаю. Не важно запятая. Мне надо узнать как загружать цифры из текстового файла в массив и записывать обратно в фаил.

Старый 13.10.2012, 08:31
Isfet вне форума Посмотреть профиль Отправить личное сообщение для Isfet Найти все сообщения от Isfet
  № 12  
Ответить с цитированием
Isfet

Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
split - это функция которая переписывает вашу строку из файла в массив причем в скобках вам нужно указывать разделитель(это как раз и есть та самая запятая).
если у вас в файле строка такого вида 12;12;235;6;4;754;75;67
то функция имела бы вид
Код AS3:
var fileTextArray:Array = stringFromFile.split(";");
в скобках указывается то, чем разделены между собой символы в строке
а в вашем коде все должно работать если заменить строку так как вам подсказали.
потом просто сделайте не
Код AS3:
trace(e.target);
а
Код AS3:
trace(TXT);
цифры выведутся по прежнему через запятую, потому что если выводить массив на экран, все его элементы будут выводиться через запятую.
можете также вывести
Код AS3:
trace(TXT[0]); //тут будет как раз ваше первое число из файла

Старый 13.10.2012, 10:28
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 13  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Можно вообще всё реализовать через FileReference, все равно этот способ не удобен, что с URLLoader'ои, что с FileReference. Если это будет в игре, в которую будут играть пользователи, то им надоест окошко о сохранении файла. Если это будет в редакторе уровней, например, то его лучше реализовать на AIR. Там возможности работы с файловой системой гораздо шире.
В общем, как бы то ни было, вот так можно реализовать всё через FileReference:
Код AS3:
package  {
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.KeyboardEvent;
	import flash.net.FileFilter;
	import flash.net.FileReference;
	import flash.ui.Keyboard;
	/**
	 * ...
	 * @author Casey Ryan
	 */
	public class FileArray extends Sprite {
 
		private var _array:Array = [1, 3, 2, 1, 3, 5, 2, 8, 5];
		private var _fileReference:FileReference;
 
		public function FileArray() {
			stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp);
		}
		// нажимаем пробел для сохранения файла, и TAB для открытия
		private function onKeyUp(e:KeyboardEvent):void {
			if (e.keyCode == Keyboard.SPACE) {
				_fileReference = new FileReference();
				_fileReference.save(_array.join(","), "array.txt"); // соединяем массив в строку и сохраняем файл array.txt
			} else if (e.keyCode == Keyboard.TAB) {
				_fileReference = new FileReference();
				_fileReference.addEventListener(Event.SELECT, onFileSelect);
				_fileReference.browse([new FileFilter("Текстовый файл", "*.txt")]);
			}
		}
 
		private function onFileSelect(e:Event):void {
			_fileReference.removeEventListener(Event.SELECT, onFileSelect);
			_fileReference.addEventListener(Event.COMPLETE, onComplete);
			_fileReference.load();
		}
 
		private function onComplete(e:Event):void {
			_fileReference.removeEventListener(Event.COMPLETE, onComplete);
			var rawString:String = String(e.target.data);
			_array = rawString.split(",");
			trace(_array);
		}
	}
}

Старый 13.10.2012, 20:31
Вопросник вне форума Посмотреть профиль Отправить личное сообщение для Вопросник Найти все сообщения от Вопросник
  № 14  
Ответить с цитированием
Вопросник
[+6 09.10.12]

Регистрация: Sep 2012
Сообщений: 33
Спасибо за ценные советы. Правда, теперь у меня появились вопросы.


Последний раз редактировалось Вопросник; 13.10.2012 в 22:31.
Старый 13.10.2012, 21:52
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 15  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
это as3
я не знаю аs2

Старый 13.10.2012, 23:21
Вопросник вне форума Посмотреть профиль Отправить личное сообщение для Вопросник Найти все сообщения от Вопросник
  № 16  
Ответить с цитированием
Вопросник
[+6 09.10.12]

Регистрация: Sep 2012
Сообщений: 33
А как на AIR это сделать?

Добавлено через 10 минут
через URLRequest?

Старый 13.10.2012, 23:56
illuzor вне форума Посмотреть профиль Отправить личное сообщение для illuzor Найти все сообщения от illuzor
  № 17  
Ответить с цитированием
illuzor
 
Аватар для illuzor

Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
Проще через File/FileStream

Старый 13.10.2012, 23:58
Вопросник вне форума Посмотреть профиль Отправить личное сообщение для Вопросник Найти все сообщения от Вопросник
  № 18  
Ответить с цитированием
Вопросник
[+6 09.10.12]

Регистрация: Sep 2012
Сообщений: 33
Цитата:
Сообщение от illuzor Посмотреть сообщение
Проще через File/FileStream
А как оно работает?

Старый 14.10.2012, 09:31
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 19  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Создаешь файл, и пишешь в него байты строки через файлстрим. Когда надо загрузить, проще сделать через URLRequest
По сути то же самое, что с файлрефренс, только диалогового окна не будет

Создать новую тему Ответ Часовой пояс GMT +4, время: 01:33.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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