返回首页

在AuthorWare中实现进度存取 教程

时间:2010-06-16 00:36来源:2018年最新注册送彩金www.zhixing123.cn 编辑:麦田守望者

很多软件的使用中都有存储进度和载入进度的功能,我为此想到如果能在AuthorWare中实现进度存取也是非常有用的。希望本文介绍的方法对大家丰富自己的AuthorWare作品有帮助。
  我是利用了AuthorWare中文件属性的一个选项(Resume)的功能实现进度存取。为了说明问题且不烦琐,这里我设计了可存取两个进度的例子。(本例用AuthorWare4.0制作,源文件可从tcfwfw.yeah.net上下载)。
 

  1、函数说明。
  Restart()------从头开始运行。
  QuitRestart()-----下次运行时从头开始运行。
  JumpFile("文件名","变量名")-----退出当前执行文件,运行指定的文件,并把变量的值也传给指定文件的同名变量。也可以不给变量名,如:JumpFile("文件名”)。
  CopyFile("源文件名", "目标文件名"),这是AuthorWare的外部函数放在copyfile.u32文件中,调用这个函数可实现文件拷贝。
  2、变量说明。
  RecordsLocation----为系统变量,其值通常为为c:\windows\a4w_data。如你的windows装在d:\windows则其值为d:\windows\a4w_data。此目录是用来存放AuthorWare的记录文件(*.rec)和其他文件。
  X-----为自定义变量。
  3、在AuthorWare中文件属性的一个选项(Resume)大家不常用到,见下图:
  它的作用是a4p文件打包成EXE后,除了第一次,以后每次运行并不是从头开始运行,而是从上次运行结束的地方开始继续运行。那大家会想这个EXE文件怎么知道上次运行到什么地方呢?熟知AuthorWare的人都知道有个c:\windows\a4w_data是用来放置AuthorWare的记录文件的。即使你没有装AuthorWare,只要你运行了用AuthorWare制作的作品这个目录会自动建立。
  当任何一个AuthorWare文件(如1.a4p)文件属性被设置为Rusume时,在此目录下就会有个记录文件存在(如1.rec)。你将文件打包(1.a4p---->1.exe)运行后退出,此文件(1.rec)就记录了文件1.exe的退出时的运行状况。当1.exe再次运行时并不从头开始运行,而是读取1.rec记录文件继续上次执行。
  在本例中需要生成两个AuthorWare文件(1.a4p和2.a4p)且要打包后运行,1.a4p是主程序,2.a4p是用来处理记录文件的。两个文件打包后文件名分别为1.exe和2.exe。
  1.a4p制作流程如下:
  从新开始计算图标里为:Restart()。
  退出计算图标里为:QuitRestart()。
  存储进度一计算图标里为:x=1;JumpFile("2.exe","x")。跳到2.exe并把变量x的值传给2.exe中的x变量。(2.exe为2.a4p打包后的文件)
  存储进度二计算图标里为:x=2;JumpFile("2.exe","x")。
  载入进度一计算图标里为:x=3;JumpFile("2.exe","x")。
  载入进度二计算图标里为:x=4;JumpFile("2.exe","x")。
  2.a4p的流程如下:
  x=1计算图标里为:CopyFile(RecordsLocation^"1.rec",RecordsLocation^"save1.rec");
  JumpFile("1.exe")。
  RecordsLocation为系统变量,它的值即为AuthorWare存放记录文件的目录,1.exe为1.a4p打包后的文件。
  执行此计算图标作用是把1.rec复制一份取名为save1.rec。
  x=2计算图标里为:CopyFile(RecordsLocation^"1.rec",Recordslocation^"save2.rec");
  JumpFile("1.exe")。
  x=3计算图标里为:CopyFile(RecordsLocation^"save1.rec",Recordslocation^"1.rec");
  JumpFile("1.exe")。
  执行此计算图标作用是用save1.rec文件替代1.rec。
  x=4计算图标里为:CopyFile(RecordsLocation^"save2.rec",Recordslocation^"1.rec");
  JumpFile("1.exe")。
  决策判断图标里的设置如下:
  Branch选项为To Calculated Path,根据X的值决定执行哪个分支。X的值是从1.exe传过来的。
  
  这里我把本例的运行过程给大家解释一下:一开始当然是运行主程序1.exe,当你需要保存进度时(假设你保存在进度一),就退出1.exe运行2.exe,将1.rec复制一份为save1.rec,再退出2.exe运行1.exe。当你需要调入进度一时,就退出1.exe运行2.exe,用save1.rec把1.rec覆盖掉,再退出2.exe运行1.exe。
  我在这里之所以在两个文件中跳来跳去是因为当1.exe在运行时1.rec文件是被保护的,无法对1.rec文件进行拷贝。所以我采用先退出1.exe,拷贝好之后再运行1.exe。大家放心,因为1.exe文件属性设置为Resume,所以跳回去时还是在原处。每当运行1.exe,都会读取1.rec,我利用替换1.rec文件的方法实现进度的存取。大家如有其他好的方法请不吝赐教。

顶一下
(0)
0%
踩一下
(0)
0%
标签(Tag):Authorware Authorware实例教程 Authorware教程 Authorware实例
------分隔线----------------------------
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
博聚网