Director 疑难解答2
01. 如何将控制元素放置在视频精灵之上?
[A] 将控制元素放置在视频精灵之上的唯一方法就是利用一个miaw(窗口电影)来代替控制元素并将其放置在视频之上。
02. 如何利用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
03. 如何在另外的操作系统中创建一个执行程序?
[A] 为在一个特定的操作系统中运行Director生成的程序,必须购买基于该操作系统的Director版本并重新编译该程序。
04. 哪些鼠标指针能够应用在Director的Lingo中?
[A] 在Director中应用鼠标指针有两种方法:一种是通过指针命令调用当前操作系统的系统指针,另一种就是用两个演员来完成,一个作为图像,另一个作为遮罩。下面列出了标准操作系统的系统指针以及它们在Director中的编号。
05. 我如何在Director 8或更高版本中删除整段帧?
[A] 在Director 8中删除帧很简单,就是双击精灵通道1和帧脚本之间的灰色区域,再按下键盘上的Del键即可。按着shift键并选择结束帧上的灰色区域,按Del就可删除所有想删除的帧。
06. 我如何在用户的系统中侦测到是否安装了QuickTime?
[A]
以下的代码将侦测用户的机器中是否安装了QuickTime3或更高版本,如果没有则启动安装程序(假设Quicktime安装程序与Director程
序在同一目录下)并退出正在运行的Director程序,如果安装了则跳转到名为“start”的电影。
on exitFrame --帧脚本
global qtversion --定义全局变量qtversion
put quicktimeversion() into qtversion --quicktimeversion()为侦测系统中的Quicktime的版本号,将版本号存到全局变量qtversion中
if the quicktimePresent = 1 then --the quicktimePresent为侦测是否安装了Quicktime,安装了则其值为1,反之则为0
if qtversion < 3 then --版本是否小于3,小于3的话则执行后面的语句
open ‘‘QuickTimeInstaller.exe‘‘ --启动安装程序
quit --退出Director程序
else --不小于3的话则执行下面的语句
go to movie ‘‘Start‘‘ --跳转到电影“start”
end if
else
open ‘‘QuickTimeInstaller.exe‘‘ --未安装Quicktime则启动安装程序(the quicktimePresent=0)
end if
end
07. 为什么我的视频播放时很不流畅?
[A] 这里有一些方法以供参考(下面几件事都是造成不流畅的罪魁)
1. 过高的数据流, 应该尽可能的降低视频文件的数据流
2. CPU速度太低,一些像Sorenson的视频解码格式由于使用了高速压缩,所以需要大量的CPU占有率。
3. 过多的更新,试图木偶化速度通道,当在播放视频时设定其为1帧,其目的是减小更新场景的次数。
08. 为什么当我建立一个指针时会出错?
[A]
从Valentina的1.8.5版本升级到1.8.6b18版本后,当未创建一个缓存区就使用指针会出现致命的错误。很可能没有运行建立缓存区的命令
(ValentinaInit(256*1024,‘‘‘‘,‘‘‘‘),其命令是建立一个大小为256K的缓存区),或者你已经关闭Valentina
数据库(valentinaShutdown --其命令是关闭所有数据库并取消缓存区)。
09. 为什么当我打开一个数据库是会出现错误32?
[A] 你已经在别的地方打开了它,Valentina数据库插件不支持多个连接。
10. 我如何能打开更多的指针?
[A] 在版本1.8.5里是不可能的,你只能用运用更精确的SQL语句(Valentina是通过SQL语句来建立指针的)来创建指针或运用Lingo来判断、计算每一条纪录。