0

我正在尝试从 ActionScript Mobile Project 中的文本文件中读取单词。然后将每个字存储在一个数组中。这在 AIR IOS 模拟器期间工作正常,但现在我正在 Ipad 上调试,但它不工作......

错误 #2044:未处理的 ioError:。文本=错误 #2032:流错误。网址:app:/var/mobile/Applications/13FB44C5-E2EB-421F-9EF8-CB1290B75DD8/Library/Application%20Support/com.mcmami3.word/Local%20Store/media/words5.txt

private function slangLoadedThree(event:Object):void {

        slangContentThree = event.target.data;
        slangArrayThree= slangContentThree.split("\n");

    }



//five letter load
            var xmlFileFive:File=new File(File.applicationStorageDirectory.nativePath).resolvePath("media/words5.txt");
            myLoaderThree.load(new URLRequest(xmlFileFive.nativePath));
            myLoader.addEventListener(AsyncErrorEvent.ASYNC_ERROR, errorHandlerAsyncErrorEvent);
            myLoader.addEventListener(IOErrorEvent.IO_ERROR, errorHandlerIOErrorEvent);
            myLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandlerSecurityErrorEvent);
            myLoaderThree.addEventListener(Event.COMPLETE, slangLoadedThree);
4

4 回答 4

1

尝试其中之一:

myLoaderThree = new URLLoader();
myLoaderThree.addEventListener(Event.COMPLETE, processText, false, 0, true);
myLoaderThree.load(new URLRequest("media/words5.txt"));

或者

var xmlFileFive:File = File.applicationStorageDirectory.resolvePath("media/words5.txt");
var _urlRequest:URLRequest = new URLRequest(f.url);
myLoader = new Loader();
myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, processText, false, 0, true);
myLoader.load(_urlRequest);

两者都可以使用:

private function processText(e:Event):void {
        trace(e.target.data);
}
于 2013-05-02T05:52:38.550 回答
1

如果只有一个文件,您可以像嵌入图像一样嵌入 txt 文件。有关如何在此处找到的说明:

Flex3:将嵌入文本文件的内容加载到变量中

或在这里:

如何在 actionscript 3 中嵌入静态文本?

于 2013-05-01T19:03:46.143 回答
0

发布应用时是否包含媒体文件夹和 words5.txt 文件?

即在 Flash Pro > Publish Settings > 单击 AIR 版本下拉框旁边的扳手按钮 > 在 General 选项卡中,您有一个 Included Files 区域。您应该在此处添加您的媒体文件夹。

于 2013-05-01T17:56:16.723 回答
0

因此,由于我只是通过读取文件来创建数组,我不妨跳过读取文件并一次创建一个元素的数组。当然,我并不是说在 Flash Builder 中输入 array[0] array[1]。但相反,我编写了一个单独的 C++ 程序,它将读取我的 WORD 文件,然后写入另一个文件“slangArrayOne[0] = “WORD””,并为每个单词索引数组。然后我获取该文件的输出,即... slangArrayOne[0] = "WORD"; slangArrayOne[1] = "WORD2"; 并将它们放在一个动作脚本类中。

我现在可以在 iPad 上将我的 Word Array 用于我的文字游戏……这可能是一种更好的方式,但我对此并不陌生。另外,与仅在程序中填充大小为 X 的数组相比,在 App 加载期间读取文件以填充大小为 X 的数组有什么区别?

#include <cstdlib>
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{

 cout<<"Hello";
 cin.ignore();   


  string line;
  int x = 0;
  ifstream myfile ("FiveLetterWords.txt");
  // open a file in write mode.
   ofstream outfile;
   outfile.open("FiveLetterWordsNew.txt");


  if (myfile.is_open())
  {
    while ( myfile.good() )
    {
      getline (myfile,line);
      cout << "slangArrayFour["<<x<<"] = "<< "\""<< line <<"\"" <<"\n";
      outfile<< "slangArrayFour["<<x<<"] = "<< "\""<< line <<"\"" <<";"<<"\n";
      x++;
    }
    myfile.close();
  }

  else cout << "Unable to open file"; 



 cin.ignore();
于 2013-05-03T05:13:40.253 回答