- 如何制作一个放映机(projector)可以在不同分辨率下播放?
[A] 加入下列语句:
on prepareMovIE
(the stage).rect = (the desktopRectList)[1]
(the stage).drawRect = (the desktopRectList)[1]
end
注意,这个语句是通过放大或缩小舞台来达到效果的,所以会有变形。
- 如何导入Photoshop的图层?
[A] Director7.0以后的版本你可以通过Medialab公司的Photocaster Xtra来实现。
- 在程序中如何导入图片而不失去图片周围的白色部份?
[A] 通过指定图片的trim whitespace属性可以实现:
m = new(#bitmap)
m.trimWhiteSpace = 0
m.filename = the moviePath & ‘‘file.bmp‘‘
m.media = m.media
- 如何得到全局变量列表?
[A] 在messages的窗口中,你可以输入showGlobals来显示所有的全局变量。以下的代码也可以显示所有的全局变量:
repeat with x = 1 to (the globals).count
put (the globals).getPropAt(x) & ‘‘ = ‘‘ & (the globals)[x]
end repeat
- 如何播放mpeg文件?
[A] 有一系列的方法,不能说哪一种更好,并且在pc机和Mac机上是不一样的,下面是四种常见的方法:
1. 用一个xtra。这种方法用起来简单,且也有好的产品支持,但大多不能跨平台使用。当然,这是需要购买的。
2. 使用ActiveX控件。这只能在pc机上用,相对xtra而言会有更多的限制,但它是免费的,且与标准playback能够很好的集成。
3. 使用quicktime。但这只能在mac的机子上用(不过5.0好像也可以支持pc)。
4. 用mac来调用。这是另一种只支持pc机的方式,但与d集成不好,不建议采用。
选取一种最适合你的方法,但要记住多在不同的平台上做测试,mpeg文件在每种平台上的效果都是不同的。
- 如何才能更改project的图标?
[A] 可以通过第三方工具来实现,比如Hoolicon。
- 如何制作光盘的自动运行程序?
[A] 在mac上可以选上自动运行选择“in Toast for the HFS volume”。Toast是Mac上的烧录软件。HFS是Mac上硬盘的文件制式,相当于PC上的FAT或NTFS。
在pc上,可以制作一个包含以下内容的txt文件,文件名为autorun.inf
[autorun]
open=projectorname.exe
icon=icon.ico
更改projectorname使之与你的exe名一样,并可加上路径如open=stuffprojector.exe,图标可以是任何的图标文件。
- 如何关闭一个miaw?
[A] 最安全的关闭一个miaw的方法是在这个miaw中设置一个为true的全局变量,在这个miaw的影片中通过这个变量关闭miaw,而不要让miaw自己来关闭。同样,你可以向舞台(stage)发送命令来关闭它。
- 如何得到系统的打开和保存文件的对话框?
[A] 在director中有好几种方法可以得到。下列是常用的四种方法。注意对话框并不能打开文件,它只是返回文件的完整路径(File Path)和文件名称(File Name)。
1. FileIO:
Open -
set myFile = new(xtra ‘‘fileio‘‘)
set theFile = displayOpen( myFile )
set myFile = 0
Save -
set myFile = new(xtra ‘‘fileio‘‘)
set theFile = displaySave( myFile, ‘‘Title‘‘, ‘‘Default File Name‘‘)
set myFile = 0
2. Buddy API:
Open -
set theFile = baGetFilename(‘‘Open‘‘, ‘‘C:‘‘, ‘‘Filename‘‘, ‘‘Filters│*.‘‘, Flags, ‘‘Instruction‘‘, Allow Folder Selection, X-Location, Y-Location )
Save -
set theFile = baGetFilename( ‘‘Save‘‘, ‘‘C:‘‘, ‘‘Filename‘‘, ‘‘Filters│.*‘‘, Flags, ‘‘Instruction‘‘, Allow Folder Selection, X-Location, Y-Location )
3. FileXtra:
Open -
set theFile = fileOpenDialog(initialDirectory, filterString, dLogTitle, createPrompt, FileMustExist)
--On the Mac, only the initial Directory and filterString are valid
Save-
set theFile = fileSaveAsDialog(initialDirectory, fileName, dialogTitle, overwritePrompt)
--On the Mac, only the initial Directory and fileName, and prompt are valid.
4. MUI Xtra:
Open -
set aMuiObj = new (xtra ‘‘MUI‘‘)
set fileString = ‘‘Open this file‘‘
set theFile = fileOpen(aMuiObj, fileString)
Save -
set aMuiObj = new (Xtra ‘‘MUI‘‘)
set fileString = ‘‘save this file‘‘
set theFile = fileSave( aMuiObj, fileString, ‘‘with this prompt‘‘ )
- Flash可以向director中传递变量吗?
[A] 你可以用getURL的三种方式来实现:
getURL ‘‘event:directorHandler‘‘
getURL ‘‘lingo:directorCode‘‘
getURL ‘‘string‘‘
- 如何将控制元素放置在视频精灵之上?
[A] 将控制元素放置在视频精灵之上的唯一方法就是利用一个miaw(窗口电影)来代替控制元素并将其放置在视频之上。
- 如何利用Valentina(一个数据库插件)在一个表中新建一个记录?
[A] 下面是使用Valentina数据库插件向表中添加新纪录的方法:
–如果还没有打开一个数据库则打开
vDB = new(Xtra ‘‘VDatabase‘‘)
vDB.OpenDatabase(‘‘databasename.vdb‘‘)
--vTable为表名
vTable = ‘‘tablename‘‘
– 创建指针(自己理解)
vRS = new(Xtra ‘‘VCursor‘‘, vDB.getRef(), ‘‘SELECT * FROM ‘‘ & vTable)
--创建一个新记录
vRS.SetBlank()
--添加数据
vRS.SetFIEld(‘‘fieldname1‘‘, ‘‘value‘‘)
vRS.SetField(‘‘fieldname2‘‘, ‘‘value‘‘)
…
--保存记录
vRS.AddRecord()
--取消指针
vRS = 0
- 如何在另外的操作系统中创建一个执行程序?
[A] 为在一个特定的操作系统中运行Director生成的程序,必须购买基于该操作系统的Director版本并重新编译该程序。
- 哪些鼠标指针能够应用在Director的Lingo中?
[A] 在Director中应用鼠标指针有两种方法:一种是通过指针命令调用当前操作系统的系统指针,另一种就是用两个演员来完成,一个作为图像,另一个作为遮罩。下面列出了标准操作系统的系统指针以及它们在Director中的编号。
(图片见最下面)
05. 我如何在Director 8或更高版本中删除整段帧?
[A] 在Director 8中删除帧很简单,就是双击精灵通道1和帧脚本之间的灰色区域,再按下键盘上的Del键即可。按着shift键并选择结束帧上的灰色区域,按Del就可删除所有想删除的帧。
- 我如何在用户的系统中侦测到是否安装了QuickTime?
[A] 以下的代码将侦测用户的机器中是否安装了QuickTime3或更高版本,如果没有则启动安装程序(假设Quicktime安装程序与Director程序在同一目录下)并退出正在运行的Director程序,如果安装了则跳转到名为“start”的电影。
on exitFrame --帧脚本
global qtversion --定义全局变量qtver