Director基础教程:Director 疑难解答(4)
2024-09-08 19:27:14
供稿:网友
director 疑难解答
01. 我怎样才能在director中使用powerpoint文件呢?
[a] 在director中有多种方法来打开或者显示一个powerpoint幻灯片。
1. 使用director的powerpoint import这个xtra直接导入powerpoint幻灯片。
2. 使用lingo命令open {file name} with {application name},这种方法需要用户安装过powerpoint或者powerpoint viewer。powerpoint viewer是微软自由发放的一个软件,可以在用户没有安装powerpoint的情况下放映幻灯片。
3. 使用activex控件打开一个web浏览器窗口来显示powerpoint文件,这需要ie和
powerpoint或者powerpoint viewer。
4. 使用其他第三方xtra,包括ravware's ppviewer或者buddyapi。二者都需要用户已经安装过powerpoint viewer。
02. 我怎样通过buddyapi来打印pdf文档呢?
[a] 使用buddyapi你就可以打印pdf文档了,但你必须保证acrobat reader已经被安装到了你的系统上。
有两种方法来打印一个pdf文件:一种方法是给用户提供一个打印对话框,另一种方法就是在后台进行打印,两种方法具体操作如下:
1. 不使用打印对话框:
vresult = baprintfile(vfile)
2. 通过标准的打印对话框:
vresult = barunprogram(bashortfilename(bafindapp( "pdf" ) && "/p" &&
bashortfilename(vfile)), "minimised" , false )
03. 我怎样才能创建一个all_in_one的按钮行为,把所有和按钮有关的功能集中在一个行为里面?
[a] 这个问题最好的回答就是使用alphamania shift hue effect。使用这种方法用不着创建单独的rollover和mousedown成员,只需要为rollover、mousedown和mouseup选择一个色调变化的等级即可。这样做的主要优点是不需要其他的行为,并且不需要为按钮的各种状态创建不同的成员。
04. 我怎样才能让多个单选按钮成为单选按钮组?
[a] director缺省的单选按钮和复选框有点类似,如果你希望他们一起工作,你必须编写lingo来实现打开一个时关闭另一个。最基本的方法就是通过调用sendallsprites来实现。
05. 怎样用lingo优化记录集(游标)?
[a] 你可以通过评估记录来优化游标,并通过dropcursor命令来忽略无效的记录。这将返回你需要的记录集,下面是一个简短的例子:
vrs.firstrecord()
repeat with x = 1 to vrs.getrecordcount()
if vrs.getfield(vfield) = vcondition then
vrs.droprecord()
else
vrs.nextrecord()
end if
end repeat
译者注:游标是一个sql术语,数据库游标和字处理程序上的光标类似,当你按下down箭头时光标就在记录上向下滚动一行,用数据库游标可以选择一组数据,可以在这组记录(通常称为记录集)上滚动光标,并检查游标指到的每一行数据。
06. 怎样在cd上为我的movies保持相对连接而不出现定位对话框?
[a] 在你发布作品、保护和刻录cd时,director会保持影片的相对路径,最常见的错误是创建文件时采取一种目录结构方式,保护文件时却使用另一个目录以便备份。问题就在于director只记住了文件最初的连接,但现在却被破坏了。
其实,你可以在在searchpath中包含进当前目录:
( the searchpath ). add ( the moviepath & ‘‘movies‘‘)
07. 怎样在全屏模式下打开stage时去掉stage上一个像素的黑框?
[a] 为了在projector上去掉黑框,你可以使用非正式声明的miaw的“cutout”属性。创建一个1x1、全屏播放的projector,通过miaw命令用他打开你的主影片,设置主影片的windowtype为一个1 bit的位图,该位图可以是一个矩形,可以是你的影片的形状:
( window ‘‘my window‘‘). windowtype = member (‘‘1 bit bitmap‘‘)
对于director 7.02或早期版本,你可以使用border这个xtra实现同样的效果。
08. 怎样在valentina中回滚?
[a] valentina不支持回滚,因为你不能通过sql语句来插入或者改变数据,也就不能简单的保存sql历史。
译者注:回滚也是数据库术语,即取消多步数据库操作。
09. 我怎样在shockwave中保存和得到用户的数据?
[a]shockwave不允许你访问用户的硬盘,但有一个目录例外,这样做是为了防止别人编制恶意的shockwave程序来破坏你的系统。如果你想在shockwave中保存用户的数据,使用getpref和setpref命令即可:
setpref prefname, prefvalue
getpref (preffilename)
11. 各功能键的键控代码(keycodes)是多少?
[a] 功能键可用作keycodes来测试:
f1-122
f2-120
f3-99
f4-118
f5-96
f7-98
f8-100
f9-101
f10-109
f11-103
f12-111
f13-105
注意,功能键的keycodes在生成放映机时(projector)时是不能用的。