Director中读写外部文本的技术

原创 2004年06月22日 21:15:00
 记录、读取外部文本在多媒体创作中经常接触,通常用于记录用户信息、动态更改程序使用文本资料等!这里我们将简要总结一下director中对于外部文本的利用。
读取外部文本

准备工作:
建立两个纯文本文件"C:/Data.txt"、"C:/Data.cus",内容均为“this is text file!”
方法有三:
1. 使用插件:Fileio.x32
Fileio.x32是director默认附带的插件,可以实现文本的读取、写入。以下函数实现读取某个纯文本文件。而无关于文件后缀名:

on AGgetpref theFilename
  --建立xtra实例
  fileOutIn=new(xtra "Fileio")
  --检测是否成功生成xtra实例,出错则返回信息-1
  if not ObjectP(fileOutIn) then
    return -1
  end if
  --打开外部文本文件
  fileOutIn.openfile(theFilename,1)
  --读去文本数据
  FileTxt=fileOutIn.readFile()
  --关闭文件
  fileOutIn.closeFile()
  --从内存中清除xtra实例
  fileOutIn=void
  --如果读取的结果是空则说明文本不存在、返回结果-1
  if FileTxt=void then
    return -1
  else
    return FileTxt
  end if
end

使用范例:
以下指令读取外部纯文本格式文件C:/Data.Cus,该文本内容是“this is text file!”(你可以先自己建立这个文件)
put Aggetpref("C:/Data.Cus")
--“this is text file!”

提示:对于文件后缀名无关的纯文本文件,我们可以伪装自己程序相配合的“格式”。尽管里面是纯文本,但是我们同样可以进行相关的特殊处理,以至于一般用户不能直接利用。

2. 使用演员的filename属性
假设目前你的电影中已经存在文本演员”word”,那么以下代码将文件C:/Data.txt中的文本读取到内部,成为演员”word”的文本内容:

member("word").filename="C:/Data.txt"

注意:使用这个方法时候,必须存在操作的对应演员。也就是说他是修改演员外部连接目标的途径来实现的。同时文本读取以后演员何这个外部文件就没有直接关系了。
提示:这个方法只能使用txt,rtf文本文件,不能自定义文件后缀名。假如你读取“C:/Data.Cus”,演员将不可用。从这个我们也可以知道director对于外部文件的支持是首先基于文件后缀名的判断的。
3. 使用指令:importFileInto
importFileInto 使得director能够通过lingo指令导入外部元素,包括director支持的一切媒体元素。以下是用本指令获取外部文本的代码:
importFileInto member 11, " Data.txt "
提示:这个方法中涉及的目标演员可以存在也可以不存在。对于不存的目标演员,director将自动建立。如果已经存在目标演员,则原先的演员被替换。


写入外部文本
写入外部文本通常使用Fileio.x32
以下函数实现生成外部任意后缀名的纯文本格式文件:

on AGsetpref theFilename,stringIn
  if not stringP(stringIn) then
    return -1
  end if
  fileOutIn=new(xtra "Fileio")
  if not ObjectP(fileOutIn) then
    return -1
  end if
  theFilename=theFilename
  fileOutIn.openfile(theFilename,1)
  fileOutIn.delete()
  fileOutIn.createFile(theFilename)
  fileOutIn.openfile(theFilename,1)
  fileOutIn.writeString(stringIn)
  fileOutIn.closeFile()
  fileOutIn=void
  return 1
end


范例:以下代码生成内容为“Welcome to mobiusclub ”的纯文本文件”C:/Welcome.dct”:
AGsetpref("C:/Welcome.dct","asdfasdf")

补充:
getpref 和 setpref 作为director自提供的信息记录方式,可应用于包括网络的信息读写,但是限制就是数据读取必须定位在主程序同级的Prefs目录中,格式必须为txt纯文本.
提示:
getpref 和 setpref 在shockwave中可以实现等价于ie的cookie功能,用于记录我们需要在客户端标记的信息!

Cinema Director 教程——unity制作过程动画,剧情等

来自:http://magicbullet.hatenablog.jp/entry/UnityAsset_CinemaDirector_en In this blog, main target ...
  • zhaoguanghui2012
  • zhaoguanghui2012
  • 2016年12月01日 14:48
  • 5063

cocos2dx中的Director类中的getInstance()方法解析,即单例模式

接触cocos2dx有段时间了,对于Director::getInstance()这样的代码也有段时间的困惑了,为什么要这样写,这是什么意思呀?原来查了查资料才知道这是单例设计模式的应用。单例设计模式...
  • u010946556
  • u010946556
  • 2015年08月25日 14:51
  • 1700

vbs操作txt文本文件常用方法(函数)

本文转自席飞剑老师!!! 'creat by 席飞剑(小席老师) '操作文本文件,操作fso对象(文件对象操作) ------------------------------------ 创建...
  • wanghao3029
  • wanghao3029
  • 2013年09月01日 23:26
  • 1873

普通IO口模拟SPI对外部flash进行读写

  • 2017年11月04日 10:52
  • 2.89MB
  • 下载

单片机读写外部RAM

  • 2014年06月29日 18:24
  • 4KB
  • 下载

狂刷Android范例之3:读写外部存储设备

  • 2015年06月09日 22:16
  • 3.46MB
  • 下载

05读写外部存储sd卡

  • 2015年10月12日 13:40
  • 1.08MB
  • 下载

MFC对文本文档的读写

  • 2013年06月16日 11:10
  • 22.74MB
  • 下载

C++ (IO操作小案列) 基于本地文本文档的读写

  • 2017年05月27日 16:07
  • 5.25MB
  • 下载

common文本读写

  • 2015年07月13日 16:16
  • 1KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Director中读写外部文本的技术
举报原因:
原因补充:

(最多只允许输入30个字)