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绻?阌凶龊玫钠??span href="tag.php?name=%B6%AF%BB%AD" class="t_tag">动画还可以Project—Startup Movie来设一个开场动画(Flash也可以啊!)最后用F5预览一下就可以用F7生成了,注意生成时在Build & Publish Target下选Hard Drive Folder,然后选择你要制作的光盘文件夹就行了。
对了,你也可以直接打开软件自带的摸板看看它的Action是怎么编写的。
如果不喜欢软件自带的按钮可以用Photoshop做好按钮的图片(起码要有两种状态:正常;按下;)保存成.png文件(因为png文件支持透明背景),这样在AutoPlay Media Studio Professional中自带的按钮编辑工具中就可以做出个性化的按钮了,当然也可以用Photoshop做出一张带有选项的背景,通过AutoPlay Media Studio Professional的热点来编辑也可以达到个性化选择菜单的效果。
1、加入片头动画的方法是选择project—startup movie,然后在弹出的对话框中将play startup moive选中。在startup movie里选择片头动画是Video格式,还是flash格式。在filename中选择动画的位置。在Window Size中选择窗口是否全屏,或者是自定义大小。Media Size是选择媒体的大小,Fit to Window是适合窗口大小。style是一些风格设置。
2、Browse CD是浏览光盘内容按钮,方法是在Actions中点击add action,选择File中的ExploreFolder命令。然后单击“下一步”,通过选择DefaultFolder来设置你的默认浏览目录。
我的命令如下:
File.ExploreFolder("AutoPlay",SW_SHOWNORMAL);
File.ExploreFolder("AutoPlay", SW_SHOWNORMAL);
3、Exit CD是退出按钮,方法是在Action中点击add action,选择Application中的Application.Exit()即可。
子界面跳转功能:
播放按钮代码如下:
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);
问:启动界面上所牵涉到的文件(比如第一贴的启动界面上的"IE 6 SP1,DirectX 9.0b,...WinRAR 3.2......"等文件)是否要预先集合到一个文件夹中?放到哪个文件夹中有讲究吗?
答:可以不放在一个文件夹内,但要使用run命令,而不能用open命令。对于只有一个安装文件的程序,可以使用open命令打开它,它会自动被拷贝到 docs文件夹里,而像IE 6 SP1这样的,有多个文件就必须手动将它所有的文件拷贝到docs,才能使用open命令,而要遇到重名的问题就很难解决了。所以建议还是使用run命令,不用拷贝文件,不用放到同意目录。
问:用 open 命令的方法我看懂了,原来是有多个文件须先拷贝到docs,谢你让我少走弯路. 用 run 命令的方法我还有点纳闷?是否用了 run 命令(因 run 命令只牵涉到setup.exe)后,其他相关联的文件和文件夹都会自动被拷贝到 docs文件夹里?
答:用 run 命令后其他相关联的文件和文件夹不会被拷贝,也就是说可以在原来的文件夹内执行安装。这样在做光盘时完全不用将文件都放到 docs 中,只要在光盘里的任意一个文件夹都可以用run命令来执行安装。
问:哦,谢谢!也就是说,用 run 命令也要先把其他相关联的文件和文件夹先拷贝到光盘里的任一文件夹中……谢谢你耐心的解说!
答:用 run 命令也要先把其他相关联的文件和文件夹先拷贝到光盘里的任一文件夹中 ,注意,不仅是任意一个文件夹中,可以每一个软件在一个文件夹中.
问:我是用 AutoPlay Media Studio 5.0 Professional v5.0.0.4的.但是拷贝不成功?
答:如果是素材,并不需要手动拷贝。CD_Root这里就相当于你光盘的根目录了。其下的AutoPlay里包括了Audio、Icons、Images、Buttons、Flash、Docs、Scripts、Videos文件夹,当你用AutoPlay Media Studio 5.0编辑界面时用到图标、图片、声音等时,它会自动拷贝到上述相应的地方,所以并不需要你手动拷贝。制成之后目录应当是:
CD_Root\
(这里是根目录)可以在这里建立各种软件的目录。然后在AutoPlay Media Studio 5.0中用run的命令调用他们的安装文件。
CD_Root\AutoPlay
CD_Root\AutoPlay\Audio
CD_Root\AutoPlay\Icons
CD_Root\AutoPlay\Buttons
CD_Root\AutoPlay\Docs
CD_Root\AutoPlay\Flash
CD_Root\AutoPlay\Scripts
CD_Root\AutoPlay\Videos
完成后不需要生成ISO,只要把它们发布成一个文件夹到硬盘别的地方,就可以刻录了
问:音量控制按扭怎么加好象是个插件吧?
答:不用插件,用Action完全可以实现,但要用到 if 判断。你可以打开软件自带的那个播放器看看。
请问一下如何用easyboot集成安装?目录结构如何?
答:不太明白你的意思,是不是问这个和easyboot如何共同使用达到dos与windows下的双启动界面呢?制作完成后生成到另一个硬盘位置,例如起名为AutoCD文件夹,(要选择另一个硬盘位置)不要生成ISO,然后将EZBOOT和系统安装文件夹都拷到AutoCD文件夹下即可.
问:再问具体是EASYBOOT本身copy在AutoCD下,还是把EASYBOOT里面的文件copy到AutoCD下?就是目录结构问题。
答:EASYBOOT里面的EZBOOT文件夹copy到AutoCD下
问:有点糊涂了,easyboot默认是easyboot\disk1为ISO的根目录,那autoplay这边的文件怎么烧进ISO里面呢?
问:我不是用easyboot生成ISO的,而是准备好目录结构用CDp_w_picpath来制作ISO的,或者你也可以用UltraISO制作.正如你所说disk1为ISO的根目录,而ezboot在disk1目录中.autoplay可以生成目录结构到硬盘上,将作好的autoplay生成到disk1里就可以完成结合了.
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("[email]yu346704@sohu.com[/email]");
File.OpenEmail("[email]yu346704@sohu.com[/email]?subject=Goodluck",SW_SHOWNORMAL);
18、File.OpenURL 用默认浏览器打开网页
例:File.OpenURL("http://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
GetCurrent返回当前目录的值赋给函数
例:current_dir = Folder.GetCurrent( );
Folder.Rename 重命名文件夹
例:Folder.Rename("C:\\Stored", "C:\\OldStored"); 注:Stored为旧文件夹名,OldStored为新文件夹名。
Folder.SetCurrent 设置当前目录
例:Folder.SetCurrent("AutoPlay\\Docs");
很详细的。