AutoPlay Media Studio教程

 公司的软件要发布,要我做一个光盘自启动的,所以在看这个,收下来做个笔记。

 

1.首先要准备好素材:背景图片、按钮的移动声音、按钮的点击声音、装饰图案和启动声音等。首先新建一个Blank Project,在右侧的Properties面板中将style项设为Image,(Properties面板是整个Project的属性)然后在下放的Image选项中选择你的背景图片的位置。
2.第二步要加入标题,选中菜单栏的Insert—Label加入标题,也可以选择快捷按钮中的 A 的那个按钮或按Ctrl+2。在Settings标签下的Object中的Text中输入要显示的标签,Select Font可以设置字体字号。Alignment中可设置对齐方式。State Colors中设置正常情况下的颜色和移动到上面的高亮颜色还有点击时的颜色,本人在这里将他们全部设为白色,可在Normal中设为白色,然后点击Match Normal即可。
3.第三步添加按钮,在左边的Gallery面板中选择第一个“插入按钮”的图标即可显示软件自带的素材库,在其中选择合适的按钮拖拽到Project上。双击按钮就可打开其属性面板Button Properties,也可以直接在右侧的Properties面板中修改按钮的参数。本人建议使用双击后的Button Properties面板,在Settings—Object—Text中输入要显示在按钮上的文字,其它选项与标题设置的方法一样。在Attributes—Properties—Object中可以设置按钮的名称和显示效果,Postition可以设置按钮的位置,Feedback中设置鼠标移动到按钮上的指针和显示文字,Sounds—Highlight是鼠标移动到按钮上的声音,Click是鼠标点击的声音。Action标签是最重要的,也就是点击按钮后运行程序的Action语言。分为On Click、On Enter、On Leave三种情况,我们主要用到On Click、On Leave。在On Click下点击Add Action,会显示New Action Wizard的对话框,在Step 1 -Choose a的下拉菜单中选择一种Action。例如我们要做一个软件的安装Action,那么我们选择File选项,在Step 2 - Choose an下的列表中会出现所有的File Action,我们选择File.Run,它是运行一个文件的Action,在列表的下面会出现一个兰色的File.Run字体,点击它可查看帮助。然后点击下一步,在Source中选择你要连接的程序或资源,其他选项可忽略,点击完成。当我们要做的程序需要拷贝文件到安装文件夹来注册时,例如WinRAR3.2、Flashget1.4,我们要利用到On Leave这个标签,选择Add Action,Action类型选择Shell,然后选择Shell.GetFolder命令,这个命令我是要定位Progarm file文件夹,因为WinRAR文件夹是在Progarm file文件夹下,我们无法直接拷贝到WinRAR文件夹下。单击下一步在Type中选择SHF_PROGRAMFILES后完成。这时下面的命令行中会出现result = Shell.GetFolder(SHF_PROGRAMFILES);我们将result修改为DestFolder。然后再添加一个File.Copy的Action(方法相信大家都知道了),将Source的位置选择为我们要拷贝的文件,Destination设为DestFolder.."//WinRAR//"点击完成(要注意引号)。这样我们就可以完成文件的拷贝了。
4.下面我们添加那个窗口,用Fireworks做出那个窗口然后点击Insert—Image或使用快捷按钮或Ctrl+4来插入它。然后用Object—Lock—Selection把它琐定,这样再调节窗口里的图片时就不会碰到它了。再用同样的命令插入一个适当图片作窗口里的图片。
5.最后用Insert—Hotspot插入一段文字,(Hotspot是用来插入段落的,而Label是插入标题的)将其调整到适当的位置。选择Project—windos settings中的Width和Height调节宽度和高度。选择Project—Audio Settings中的Add来添加一个启动声音文件梢园凑兆约旱南埠媒渖栉坊蛘卟谎凡シ拧H绻阌凶龊玫钠范箍梢訮roject—Startup Movie来设一个开场动画(Flash也可以啊!)最后用F5预览一下就可以用F7生成了,注意生成时在Build & Publish Target下选Hard Drive Folder,然后选择你要制作的光盘文件夹就行了。
对了,你也可以直接打开软件自带的摸板看看它的Action是怎么编写的,总之英语好的人占便宜了,像我这样的看帮助时是连猜带蒙的,如果我上面有什么说的不对请指正。其实这个软件的Action很强大,可以做出很多不同用途的启动界面,有兴趣的可以看看他的帮助,我用的这些也是从帮助中学来得,其他的Action我还没试过,相信大家的想象力比我丰富,肯定能做出更好的。祝你成功!哎,打了好半天,该歇会儿了!
如果不喜欢软件自带的按钮可以用Photoshop做好按钮的图片(起码要有两种状态:正常;按下;)保存成.png文件(因为png文件支持透明背景),这样在AutoPlay Media Studio Professional中自带的按钮编辑工具中就可以做出个性化的按钮了,当然也可以用Photoshop做出一张带有选项的背景,通过AutoPlay Media Studio Professional的热点来编辑也可以达到个性化选择菜单的效果。
文章中少了Browse CD和Exit CD的做法,另外在Easyboot专题看到有人问片头动画的问题,就一起说说。如若有误,请大家指正!
1、加入片头动画的方法是选择project—startup movie,然后在弹出的对话框中将play startup moive选中。在startup movie里选择片头动画是Video格式,还是flash格式。在filename中选择动画的位置。在Window Size中选择窗口是否全屏,或者是自定义大小。Media Size是选择媒体的大小,Fit to Window是适合窗口大小。style是一些风格设置。
见图1
2、Browse CD是浏览光盘内容按钮,方法是在Actions中点击add action,选择File中的ExploreFolder命令。然后单击“下一步”,通过选择DefaultFolder来设置你的默认浏览目录。
我的命令如下:
File.ExploreFolder("AutoPlay", SW_SHOWNORMAL);
3、Exit CD是退出按钮,方法是在Action中点击add action,选择Application中的Application.Exit()即可。
子界面跳转功能:
见图2
播放按钮代码如下:
Audio.Load(CHANNEL_USER1, "AutoPlay//Audio//The Woods (short).ogg", false, false);
Audio.Play(CHANNEL_USER1);
"AutoPlay//Audio//The Woods (short).ogg", 是你想要播放的文件名.代码含义就是先找到要播放的文件,然后播放.
暂停按钮代码如下:
Audio.Stop(CHANNEL_USER1);


AutoPlay Media Studio Professional v5.0的部分Action解释
以下是关于Application的部分Actions(未完)
(1).Application.Exit
关闭窗口
例:关闭自动运行界面
Application.Exit();
(3).Application.GetLastError
返回最终错误代码(单独使用无实际效果,与Dialog.Message联合使用)
例:返回最终错误代码付给nError变量
nError = Application.GetLastError();
可以与if判断和Dialog.Message命令连用:
打印这个AutoPlay/Docs/MyFile.pdf文件;并检查Action执行是否有错误,将错误代码返回给error变量,如果错误代码不等于0(也就是有错误)即用一个对话框显示出来.
File.Print("AutoPlay//Docs//MyFile.pdf");
error = Application.GetLastError();
if (error ~= 0) then
Dialog.Message("Error", _tblErrorMessages[error], MB_OK, MB_ICONEXCLAMATION);
end
错误代码范围:
(9999) 未知错误代码
(1000-1099) 文件相关错误
(1100-1199) 命令属性相关错误
(1200-1299) 声音相关错误
(1300-1399) 页相关错误
(1400-1499) 状态对话框相关错误
(1500-1599) INI 文件相关错误
(1600-1699) 注册相关错误
(1700-1799) ListBox相关错误
(1800-1899) 系统相关错误
(1900-1999) 文本文件相关错误
(2000-2099) Window相关错误
(2100-2199) 驱动器相关错误
(2200-2299) 文件夹Action相关错误
(2300-2399) Shell Action相关错误
(2400-2499) DLL相关错误
(2500-2599) HTTP相关错误
(2600-2699) 压缩文件相关错误
(2700-2799) 提示框相关错误
(2800-2899) Application相关错误
(2900-2999) 内部功能相关错误
(3000-3099) 字符串相关错误
(7).Application.LoadScript
读取lua脚本文件
例:读取AutoPlay/Scripts/AddedFunctionality.lua脚本
Application.LoadScript("AutoPlay//Scripts//AddedFunctionality.lua");
(9).Application.Minimize
最小化界面
例:最小化界面
Application.Minimize();
(10).Application.Restore
还原界面
例:还原界面
Application.Restore();
(11).Application.RunScriptFile
运行lua脚本
例:运行MyScript.lua脚本文件
Application.RunScriptFile(_SourceFolder.."//MyScript.lua");
============================================================

以下是所有关于File.的Action:
1、File.Copy
拷贝目标文件到指定目录
例:File.Copy("C://MyDir//*.*", "C://DestDir//", true, true, false, true, nil);
2、File.Delete
删除目标文件
例:File.Delete("C://MyDir//MyFile.ext", false, false, false, nil);
3、File.DeleteOnReboot
在下次启动时删除目标文件
例:File.DeleteOnReboot("C://MyDir//MyFile.ext");
4、File.DoesExist
判断目标文件存在与否,存在获取“真”值,反之获取“假”值。(单独使用无效果,与Dialog.Message等联合使用)
例:are_ya_there = File.DoesExist(_WindowsFolder.."//system.ini");
5、File.ExploreFolder
文件夹浏览
例:File.ExploreFolder("C://Documents and Settings", SW_MAXIMIZED);
6、File.Find
在本地硬盘上查找文件(单独使用无效果,与Dialog.Message等联合使用)
例:found = File.Find( Shell.GetFolder(SHF_MYDOCUMENTS), true, false, "*.pdf");
if (found) then
Dialog.Message("Found one!", "The first PDF file found was:" .. found[1]);
7、File.GetAttributes
获取目标文件系统属性(单独使用无效果,要与其他命令联合使用)
例:attrib = File.GetAttributes( _TempFolder .. "//MyTempFile.tmp" );
bReadOnly = attrib.ReadOnly;
strCreationDate = attrib.CreationDate;
8、File.GetCRC
对目标文件获取一个CRC值(用于下载后检查文件,单独使用无效果,与File.Run和Dialog.Message联合使用)
例:crc_value = File.GetCRC(_TempFolder.."//setup.exe");
if crc_value == 824907888 then
File.Run(_TempFolder.."//setup.exe", "", "", SW_SHOWNORMAL, true);
else
result = Dialog.Message("Error", "The downloaded file is incomplete. Please try downloading again.", MB_OK, MB_ICONSTOP, MB_DEFBUTTON1);
9、File.GetDefaultViewer
获取目标文件类型的打开方式(单独使用无效果,要与其他命令联合使用。本例为获取jpg的默认打开方式)
例:result = File.GetDefaultViewer(".jpg");
10、File.GetShortName
对长文件名文件获取一个DOS 8.3文件名(单独使用无效果,个人认为要与别的命令联合使用)
例:short_version = File.GetShortName ("C://Program Files//AutoPlay Media Studio 5.0//ams50.exe");
结果:C:/PROGRA~1/AUTOPL~1/ams50.exe
11、File.GetSize
获取目标文件大小(单独使用无效果,要与其他命令联合使用)
例:file_size = File.GetSize(_TempFolder .. "//setup.exe");
12、File.GetVersionInfo
获取目标文件的版本信息(单独使用无效果,要与其他命令联合使用,将获取的信息付给其他函数)
例:version_info = File.GetVersionInfo( _ProgramFilesFolder .. "//Doopernator//Doopernator.exe");
13、File.Install
向系统安装DLL文件(可与Dialog.Message、Application.GetLastError联合使用,下例就是将成功安装付给函数且用Application.GetLastError获取失败错误,然后判断安装成功与否,如果失败,用Dialog.Messag输出错误信息)
例:success = File.Install("AutoPlay//Docs//cooltoy.dll", _SystemFolder.."//cooltoy.dll", FILE_INSTALL_ALWAYS );
error = Application.GetLastError();
if success == false then
Dialog.Message("Error", _tblErrorMessages[error], MB_OK, MB_ICONEXCLAMATION);
14、File.Move
移动目标文件到指定目录(注:_TempFolder为temp文件夹、_ProgramFilesFolder ..为Program Files文件夹、_WindowsFolder..为系统文件夹)
例:File.Move("AutoPlay//Docs//*.txt", _TempFolder .. "//Text Files", false);
15、File.MoveOnReboot
在下次启动时移动文件到指定目录
例:File.MoveOnReboot(_TempFolder .. "//setup.exe", "C://setup.exe");
16、File.Open
打开文档文件(如果指向exe文件,默认会将exe文件拷到AutoPlay//Docs//内再执行)如要播放视频文件就要用此命令,File.Run 无法实现。
例:File.Open("AutoPlay//Docs//ad4.92.exe", "", SW_SHOWNORMAL);
17、File.OpenEmail
发送邮件(还可以加标题)
例:File.OpenEmail("[url=mailto:yu346704@sohu.com]yu346704@sohu.com[/url]");
File.OpenEmail("[url=mailto:yu346704@sohu.com]yu346704@sohu.com[/url]?subject=Good luck", SW_SHOWNORMAL);
18、File.OpenURL
用默认浏览器打开网页
例:File.OpenURL("www.baidu.com", SW_MAXIMIZE);
19、File.Print
打印文档
例:File.Print("AutoPlay//Docs//1.txt");
20、File.Rename
重命名指定文件文件名(可以用来做批处理文件)
例:File.Rename("C://1.txt", "C://2.exe");
21、File.Run
运行文件(直接在原目录中执行,用来做启动界面里的软件安装)
例:File.Run("AutoPlay//Docs//ezb456cn-s.exe", "", "", SW_SHOWNORMAL, false);
22、File.RunOnReboot
在下次启动时运行目标文件
例:File.RunOnReboot(_TempFolder .. "//setup.exe", "/W");
23、File.SetAttributes
设置目标文件的系统属性(首先可用File.GetAttributes获取属性,然后修改属性,亦可直接建立一个空属性,用attrib = {};替换第一句。)
一定要注意 = 前用什么函数(本例为attrib)后面的属性前也要一致(attrib.ReadOnly、attrib.Hidden),最后设置属性时也要用相同的函数("C://COMMAND.COM", attrib)
例:attrib = File.GetAttributes("C://COMMAND.COM");
attrib.ReadOnly = true;
attrib.Hidden = true;
File.SetAttributes("C://COMMAND.COM", attrib);
========================================================

以下是关于Dialog.部分的Action
1、Dialog.FileBrowse
弹出查找文件对话框
例:result = Dialog.FileBrowse(true, "Locate File", _DesktopFolder, "All Files (*.*)|*.*|", "", "dat", false, false);
2、Dialog.FolderBrowse
弹出浏览文件夹对话框(只能看到文件夹一级,无法看到文件夹中的内容)
例:result = Dialog.FolderBrowse("Please select a folder:", "AutoPlay//Docs");
3、Dialog.Input
弹出输入对话框
例:result = Dialog.Input("Enter Data", "Your answer:", "", MB_ICONQUESTION);
4、Dialog.MaskedInput
按照指定格式输入数据((###) ###-####为指定格式,2045559923为默认数据)
例:result = Dialog.MaskedInput("Enter Data", "Your phone number:", "(###) ###-####", "2045559923", MB_ICONQUESTION, " ");
5、Dialog.Message
弹出警告信息
例:Dialog.Message("Failure", "The file on your system is not valid.");
6、Dialog.PasswordInput
输入密码对话框(输入内容为*号,与Application.Exit()联合使用可完成密码确认,下例是将valid作为密码并付给real_password,利用Dialog.PasswordInput输入一个密码付给user_password,如果等于real_password则进入界面,否则利用Application.Exit()退出该界面)
特别注意:(以下是一个if的判断语句的标准格式,中间一行的xxxx;是满足判断后执行的命令,由于是命令所以要带“;”号。本例的前两句是付值语句,是将valid付给real_password,将用户输入的内容付给user_password)
if xxxx ~= xxxx then
xxxx;
end
例:real_password = "valid";
user_password = Dialog.PasswordInput("Password", "Please enter the password: ", MB_ICONQUESTION);
if real_password ~= user_password then
Application.Exit();
end
7、Dialog.SplashFlash
显示一个Flash提示框(下例中的10是显示持续的时间)
例:Dialog.SplashFlash("AutoPlay//Flash//Intro.swf", 10, false);
8、Dialog.SplashImage
显示一个图片(下例中的10是显示持续的时间)
例:Dialog.SplashImage("AutoPlay//Images//d370.jpg", 10, true);
9、Dialog.SplashVideo
显示一个视频(下例中的10是显示持续的时间,对mpg格式支持良好,本人试了试avi,出现了跳桢现象?)
例:Dialog.SplashVideo("AutoPlay//Videos//Magnolia.mpg", 10, true);
10、Dialog.TimedMessage
显示一个等待提示框(类似软件安装时弹出的提示框,下例中的2000为持续时间)
例:Dialog.TimedMessage("Please Wait...", "Working...", 2000, MB_ICONINformATION);
其实Dialog.命令大部分都是与其他命令配合使用时才能发挥最佳效果,例如Dialog.Input、Dialog.SplashVideo、Dialog.TimedMessage等都只能提供一个提示框或其他类似提示,如果不与其他命令配合,输入数据和提示视频、动画以及等待信息等等就都没有什么实际意义了。
================================================================

以下所有关于Folder.的Action:
Folder.Create
建立文件夹
例:Folder.Create("C://Stored");
Folder.Delete
删除文件夹(空)
例:Folder.Delete("C://Stored");
Folder.DeleteTree
删除文件夹及其内容
例:Folder.DeleteTree("C://Stored", nil);
Folder.DoesExist
检查文件夹是否存在并返回“真/假”值,若存在返回“真”,不存在返回“假”。(单独使用无效果,与Dialog.Message等联合使用)
例:检查ProgramFiles文件夹是否存在,并返回提示.
does_exist = Folder.DoesExist(_ProgramFilesFolder);
if does_exist then
Dialog.Message("Notice", "Yes, the folder does exist on your system.", MB_OK, MB_ICONINformATION);
else
Dialog.Message("Notice", "No, the folder does not exist on your system.", MB_OK, MB_ICONINformATION);
end
Folder.Find
在本地系统上查找文件夹
例:found = Folder.Find( Shell.GetFolder(SHF_MYDOCUMENTS),"Plant Data", false);
if (found) then
Dialog.Message("Found one!", "The first folder found was:" .. found[1]);
end
Folder.GetCurrent
返回当前目录的值赋给函数
例:current_dir = Folder.GetCurrent( );
Folder.Rename
重命名文件夹
例:Folder.Rename("C://Stored", "C://OldStored"); 注:Stored为旧文件夹名,OldStored为新文件夹名。
Folder.SetCurrent
设置当前目录
例:Folder.SetCurrent("AutoPlay//Docs");
=====================================================================

以下是关于Paragraph的部分Actions(未完)
Paragraph.SetVisible
设置段落是否可见,Ture值为可见,False为不可见。可用于鼠标移入按钮时显示段落文字,移出时段落消失的交互效果。
例:在按钮Action中的On Enter标签中如下设置,为鼠标移入按钮时显示段落文字.
Paragraph.SetVisible("Paragraph1", true);
在按钮Action中的On Leave标签中如下设置,为鼠标移出时段落消失.
Paragraph.SetVisible("Paragraph1", false);
======================================================================
以下是关于Shell部分的相关Actions
1、Shell.CreateShortcut
建立快捷方式
例:在桌面上建立一个指向C:/Program Files/MyApp/app.exe的快捷方式,使用C://Program Files//MyApp//app.ico的图标.
Shell.CreateShortcut(_DesktopFolder, "My Shortcut", "C://Program Files//MyApp//app.exe", "", "", "C://Program Files//MyApp//myicon.ico", 0, SW_MAXIMIZE);
2、Shell.DeleteShortcut
删除快捷方式
例:删除刚才建立的快捷方式
Shell.DeleteShortcut(_DesktopFolder, "My Shortcut");
3、Shell.Execute
执行操作
例:将My Documents目录付给My_Docs变量;然后编辑My Documents中的CompanyInfo.htm网页文件
MyDocs = Shell.GetFolder(SHF_MYDOCUMENTS);
Shell.Execute(MyDocs .. "//CompanyInfo.htm", "edit", "", "", SW_SHOWNORMAL);
4、Shell.GetFolder
设置目录变量
例:将My Documents目录付给My_Docs变量
My_Docs = Shell.GetFolder(SHF_MYDOCUMENTS);
=======================================================================
以下是关于zip部分的Actions
1、Zip.Add
添加文件到压缩文件
例:将AutoPlay/Docs/Prices.txt和Catalog.txt添加到C:/CompanyInformation/Info.zip文件中,将两个文件先付值给FileTable变量,这样可以用一个Zip.Add命令添加这两个文件.
FileTable = {_SourceFolder.."//AutoPlay//Docs//Prices.txt", _SourceFolder.."//AutoPlay//Docs//Catalog.txt"};
Zip.Add("C://CompanyInformation//Info.zip", FileTable, false, "", 5, nil);
2、Zip.Extract
解压缩文件
例:解压AutoPlay/Docs/graphics.zip中的所有文件到C:/Graphics目录中
Zip.Extract("AutoPlay//Docs//graphics.zip", {"*.*"}, "C://Graphics", true, true, "", 3, nil);
3、Zip.GetContents
返回压缩文件内容信息(单独使用无实际效果,得到返回值)
例:得到AutoPlay/Docs/Info.zip内容列表并付值到zip_contents变量中.
zip_contents = Zip.GetContents("AutoPlay//Docs//Info.zip", true);

 


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值