Хранение большой строки во флэш-памяти - PullRequest
1 голос
/ 22 ноября 2011

Моя игра хранит уровни в больших строках. Не очень долго, длина составляет около половины моего рабочего стола на экране 1080p. Flash может с этим справиться, но когда я делаю что-то вроде

var levels:Array = ["Large String
gets broken up because of the len
gth"];

Flash IDE говорит мне, что мне нужно завершить строковый литерал перед новой строкой. Я не могу, так как это слишком долго. (Для среды IDE, не для среды flash)

Как хранить строку?

Ответы [ 4 ]

5 голосов
/ 22 ноября 2011

Вы также можете встраивать текстовые файлы в свое приложение почти так же, как вы бы встраивали растровое изображение.

[Embed(source='test.txt', mimeType='application/octet-stream')]
private var TextData:Class;

...

var thing:String = new TextData();
trace(thing);

Примечание: mimeType типа 'text / plain' не подходит длякомпилятор, следовательно, поток октетов.

5 голосов
/ 22 ноября 2011

Примерно так:

private var myString:String = ( <![CDATA[

Large String
gets broken up because of the len
gth

]]> ).toString();
2 голосов
/ 22 ноября 2011

либо сделайте это так, как сказал AutoCoder в своем комментарии

Вы можете включить любой текстовый файл в свой проект и прочитать его - Чтение текстового файла построчно и передача в массивв AS3

Или,

var levels:Array = ["Large String" + 
    "gets broken up because of the len" +
    "gth", 

    "Another Large String" + 
    "gets broken up because of the len" +
    "gth"
];

Это даст вам массив вроде:

["Large String gets broken up because of the length", "Another Large String gets broken up because of the length"]

В качестве альтернативы, поместите всю строку в одинстрока (без разрывов строки).Теперь это выглядит так, как будто вы вставляете разрывы строк, чтобы сделать строку более читабельной.

1 голос
/ 22 ноября 2011

Может быть, вы должны использовать внешний файл ".txt" и загрузить его с помощью URLLoader?

Это всегда делает игру более динамичной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...