要保存和加载角色对象,我在AIR中使用文件流,它被定位为iPad应用程序。
Event.complete没有触发,IOErrorEvent有时会触发,我不知所措。
角色等级http://pastebin.com/pr6LSvMi
由于
-Anim8
答案 0 :(得分:3)
少数事情:
URLLoader
,Loader
,FileStream
等。基本上,那里在添加事件监听器之前加载完成的可能性很小,这意味着事件监听器甚至不会触发(非常罕见,但我已经看到它发生在磁盘读取中)。此外,不要调用{{1} 在之后加载完成。后者是我认为你的问题。你在连接完成加载之前关闭了你的连接。因此,请从
中删除FileStream.close()
fsR.close()
并将其添加到处理程序fsR.openAsync(fR, FileMode.READ);
fsR.addEventListener(Event.COMPLETE, LoadExistingCharacterObject);
fsR.addEventListener(IOErrorEvent.IO_ERROR, CreateNewCharacterObject);
fsR.close();
和LoadExistingCharacterObject
。此外,您需要在CreateNewCharacterObject
中执行相同的操作。每次使用SaveCharacter
时,在加载完成或出错之后 ,您都无法FileStream.openAsync()
。如果您使用close
,则可以在关闭之后立即关闭它,因为在加载完成时应用程序执行停止(FileStream.open()
是同步操作而FileStream.open()
是异步的)
您应该阅读LiveDocs for FileStream
。