director常见问题整理3.docx
《director常见问题整理3.docx》由会员分享,可在线阅读,更多相关《director常见问题整理3.docx(18页珍藏版)》请在冰豆网上搜索。
![director常见问题整理3.docx](https://file1.bdocx.com/fileroot1/2022-11/20/f9597847-1b26-4f39-87cf-58fcb68d568e/f9597847-1b26-4f39-87cf-58fcb68d568e1.gif)
director常见问题整理3
Q:
*.dxr和*.dcr有什么区别?
A:
dcr主要用于网上的流媒体传输,类似于flash发布成swf,因此存在网络对其lingo功能的限制,如不能对本地硬盘文件的操作,访问受限等情况;dxr是加密的dir影片格式,不存在以上的约束,但文件格式要稍微大一些。
具体用哪种格式就看你的需要了
Q:
请问如何在Director中调flash中某一桢的动画?
A:
goToFrame
语法:
sprite(whichFlashSprite).goToFrame(frameNumber)
goToFrame(spritewhichFlashSprite,frameNumber)
sprite(whichFlashSprite).goToFrame(labelNameString)
goToFrame(spritewhichFlashSprite,labelNameString)
描述:
命令;通过指定frameNumber参数来确定从第几帧来播放flash影片。
你可以指定一个整数帧或通过字符串来指定一个标签名。
使用goToFrame命令与设置flash影片的frame属性具有相同的效果。
例如:
这个处理程序可以在第5通道的flash影片中前往不同的点。
它允许指定一个参数来确定前往哪一帧。
onNavigatewhere
sprite(5).goToFrame(where)
end
.Flash元素运行时会占用99%左右的CPU资源,所以使用Flash的地方应尽量少。
虽不能彻底解决(MacromediaFlash本身结构的问题),所以只能我们自己约束,不是非用不可就最好不用。
2.使用Flash的时候,动画的尺寸尽可能的小,可能的情况下,不要透底,并且可以将一个大的动画分为几个小的动画,速度也有明显的提升。
3.Flash有声音的时候,不妨把声音和动画分开导入D中,这样更易于控制和有效的减小Flash的大小。
4.Flash制作时应尽量不使用位图,尽量使用矢量图。
5.D中的声音文件,建议不使用有压缩性质的格式(.mp3、.rm等),最好使用.wav等标准格式。
6.建议使用Flash的loadMovie方法,载入外部的SWF文件,这样可以不用平铺多个Flash,也不用在各个Dir间跳转,可以节约很多启动时间。
7.Flash制作完成以后应删去库中多余的元素,以使Flash的大小降到最小。
8.不在程序中通篇使用一个或多个Flash,这样会使整个程序变得特别慢。
做菜单有一个很好的插件,如果我们要大量用到这样的功能,建议够买。
9.视频不宜用高压缩比的视频格式,特别是片头,最好用无压缩格式的.avi或.mov格式。
视频的个数也不宜太多。
10.程序的可执行文件应尽可能的小,最好就是只有少部分的加载语句,通过这部分语句来调用其它的电影。
11.发布可执行文件时,除特别需要外,建议发布成ShockWave的格式,这样可以满足可执行文件最小的要求。
12.程序应做到决不多加载一个无用的外部Xtra。
可以采用删除法反复查找无用的Xtra。
13.程序的时间轴通道中应使用最少的精灵个数。
因为通道被占得越满,舞台的变化就越复杂,电影运行速度也就越慢。
14.素材建议采用外部链接的办法,本人的经验是同样的东西外部链接要比内部嵌入执行速度要快,尤其是声音文件。
15.程序中应尽少的使用占用CPU资源及内存的过渡效果。
如3D类的过渡效果。
且过渡的时间不宜太长,一般设置在0.3~0.6之间,最大也不应超过1.2。
16.图片的大小应保证在满足需求的情况下最少、最小。
17.在刻录CD-R时,关闭光盘的多重段刻录功能。
否则往往使CD-R在光驱中的读取变慢,因为选择让光盘的多重段刻录功能打开,刻录时不会关闭CD-R文件分配表等相关信息,以便你下次写入。
而这样对于光驱在寻道、读取时速度减慢。
你可能觉得有时没有明显的感觉,但当你刻录的CD-R中文件较多,相应的文件又较小,就会十分明显了。
因此建议你在可以的情况下尽量选择关闭光盘,以方便光驱的读取。
18.刻录母盘应使用质量好一点的CD-R,且刻录速度不宜过快,一般8~16速最好,这样做容易读盘。
19.根据经验及实验得出以下的结论:
造成D程序运行速度慢的主要原因就是:
1.Flash元素;2.视频(特别是高压缩比的视频格式);3.过多的界面元素;4.大量占用资源和时间的过渡效果。
20.有效转移用户视线的方法是采用Loading的方法。
这在大量的软件中都得到广泛的应用,它可以有效的让用户觉得等待的时间不是太长,也不会让用户以为是死机。
在D用可以采用两种不同的方式来制作:
1动态,自己做一个“假的”;2静态,与执行文件同名的.bmp文件。
Q:
怎样修改field的背景颜色?
A:
按CTRL+T,弹出的对话框里就有。
Q:
请问在director中如何将某个角色复制到粘贴板上?
A:
应该是copytoclipboard(MEMBER("AAA"))
Q:
怎样lingo控制不同的网页?
A:
onexitFrameme
sprite(webxtra的通道号).navigate(themoviepath&"htm文件的名字")
end
Q:
请问怎么修改Director系统面板的字体?
A:
用这个
Q:
请问怎样才能返回某个目录下的文件列表?
A:
1,
buddapi.x32之FileList--文件列表函数
描述:
函数baFileList
用途:
返回一个文件夹中的文件列表
用法:
Result(结果集)=baFileList(Folder,FileSpec)
参数类型:
String(字符型),String
Folder(文件夹):
指代要被检索的文件夹名
ilsSpec(特定文件):
指代要被列出的文件类型
返回值类型:
List(列表,用于Xtra模式)或String(字符型,用于UCD模式)
返回匹配文件的列表。
如果文件夹不存在,则返回一个空列表(或字符串)
范例:
在Director中:
setFiles=baFileList("c:
\windows","*.*")
返回目录c:
\windows中所有的文件名称到文件列表变量Files中
在Authorware中:
Files:
=baFileList("c:
\\temp","*.bmp")
解释同上
参见:
baFolderList
2,用遍历法也是个好主意
ongetallfiles
list=[]
i=1
repeatwhiletrue
filename=getnthfilenameinfolder("x",i)
iffilename=""thenexitrepeat
list.append(filename)
i=i+1
endrepeat
end
Q:
请问过渡效果怎么使用在单个精灵上?
A:
1。
查看dr的帮助文件
puppettransition函数
2。
在使用libary中的行为直接可以套用在成员上
注:
所有的
cover
push
reveal
特效都是对整体的
去掉就行了
另外,还得注意chunksize的大小,不能太大,他的大小有直接影响
Q:
如何在director8將字符串轉成字符啊?
A:
chars(你的字符串,n,n)--n为位置。
Q:
如何判断光驱符号?
A:
用BUDAPI
onstartmovie
drivelist=baDiskList()
TargetDiskName="九年级物理上"
repeatwithdiskindrivelist
DiskType=baDiskInfo(disk,"Type")
ifDiskType="cd-rom"thenalertdisk
endrepeat
end
Q:
怎样在Lingo中引用外部CAST库的角色?
A:
1,sprite(me.spritenum).member=member("castname","mycast")
2,member("whichMember","whichCastlib")
Q:
如何利用语句调用不同的外部Cast中的演员?
A:
sprite(me.spriteNum).member=member("A01","NewCast")
Q:
常用声音Lingo。
A:
channe1Count
语法:
thechanne1CountofmemberwhichCastMember
用途:
此属性返回声音造型成员所使用的声音通道数。
举例:
putthechanne1Countofmember”Jazz”
currentTime
语法:
thecurrentTimeofspritewhichSprite
用途:
此属性确定了声音或视频精灵当前正在播放的时间,以毫秒为单位。
举例:
setthetextofmember”time”to(thecurrentTimeofspritel0)/1O00
multiSound
语法:
themultiSound
用途:
如果现在系统支持两个或两个以上的声音通道时,就返回TRUE。
举例:
ifthemultiSoundthensoundplayFile2,”Music”
puppetSound
语法:
puppeiSoundwhichChanne1,”whichCastMember”
puppetSoundwhichChanne1,0
用途:
此命令用来播放声音造型成员或是停止播放造型成员。
举例:
puppetsound1,”Wind”
puppetSound2,0
sampleSize
语法:
thesampleSizeofmemberwhichCastmember
用途:
此属性返回造型成员的采样大小,通常是8位或是16位。
举例:
setsoundSize=thesampleSizeofmember”VoiceOver”
SoundBuSy
语法:
soundBusy(whichChannel)
用途:
此函数用来判断声音通道是否正在播放声音。
举例:
ifsoundBusy
(1)thengototheframe
soundEnab1ed
语法:
thesoundEnab1ed
用途:
此属性用来决定声音是否打开,如果为TRUE,就可以听到声音,如果为FALSE,虽然音量不变,但是却听不到声音。
举例:
setthesoundEnab1edtoTRUE
soundClose
语法:
soundc1osesoundChannel
用途:
用来关闭某个声音通道中的声音播放,最好是使用puppetSound命令来代替它。
举例:
soundc1osel
fadeln
语法:
soundfadelnwhichChanne1,ticks
用途:
以指定的ticks时间使声音通道中的声音渐强,如果没有指定ticks值,就以15*(60/(Temposeiiing))为时间,其中的Temposetting为当前帧速度。
举例:
soundfadeIn1.5*60
fadeOut
语法:
soundfadeOutwhichChanne1,ticks
用途:
以指定的时阳j使声音通道中的声音渐弱。
举例:
soundfadeOut1.5*60
playFile
语法:
soundplayFilewhichChanne1,whichFile
用途:
此命令用来播放外部AIFF和WAVE声音文件,如果声音文件和电影文件不在一个目录中,要为电影名加上全路径。
举例:
soundplayFile3,thepathName&”Thunder”
volume
语法:
thevo1umeofsoundwhichChannel
用途:
此属性用来决定声音通道的音量大小,以0.255之间的数值表示。
0表示静音,255表示音量最大。
举例:
setthevolumeofsound2tol30
bitRate
语法:
thebitRateofmemberwhichCastmember
用途:
此属性返回了下载的ShockwaveAudio的波特率,以Kbps为单位。
举例:
putthebitRateofmember”prima”
bitsPerSample
语法:
thebitsPerSampleofmember”whichCastmember”
用途:
此属性返回了转换到ShockwaveAudio之前的声音的位数。
举例:
putthebitsPerSampleofmember”paulRobeson”
percentStreamed
语法:
thepercentStreamedofmember”whichCastmember”
用途:
此属性用来指示一个ShockwaveAudio已经下载的百分比。
举例:
putthepercentStreamedofmember”Charles”
percentPlayed
语法:
thepercentPlayedofmember”whichCastmember”
用途:
此属性用来指示一个ShockwaveAudio已经播放的百分比。
举例:
putthepercentPlayedofmember”Frank”
preloadBuffer
语法:
preLoadBuffermember”whichCastmember”
用途:
此命令将一个ShockwaveAudio预先加载到内存中。
举例:
preLoadBuffer(member”Torme”)
preloadTime
语法:
preLoadTimeofmemberwhichCastmember
用途:
此属性决定在电影播放之前使用流技术下载的ShockwaveAudio的时间。
举例:
setthepreLoadTimeofmember”Louis”=6
soundChannel
语法:
thesoundChanne1ofmember“whichCastmember”
用途:
此属性决定了声音造型成员播放的声音通道。
举例:
setthesoundChanne1ofmember”Frank”to3
state
语法:
stateofmember”whichCastmember”
用途:
此属性指示了ShockwaveAudio的状态:
0停止
1正在下载
2下载完成
3正在播放
4暂停
5完成
9出现错误
10CPU资源不足
举例:
ifthestateofmember”EllaFiizgerald”:
9then
alert"Sorry,thisisanerro"
endif
用途:
此属性指示了ShockwaveAudio的状态:
0停止
1正在下载
2下载完成
3正在播放
4暂停
5完成
9出现错误
10CPU资源不足
举例:
ifthestateofmember”EllaFiizgerald”:
9then
alert"Sorry,thisisanerro"
endif
常用精灵属性Lingo
blend
语法:
theblendofspritewhichSprite
用途:
此属性决定了精灵的混合百分比
举例:
settheblendofsprite3to40
bottom
语法:
thebottomofspritewhichSprite
用途:
此属性决定了精灵矩形边框的下部边缘的坐标值,这个属性可以用来测试但是不能直接修改
举例:
setlowest=putthebotiomofsprite(i+l)
castLibNUm
语法:
thecastLibNumofspritewhichSprite
用途:
此属性决定了精灵所使用的造型成员的Cast表的编号,可以被测试和修改。
如果更改此属性但是不修改castnum属性,Director会使用原来的造型成员编号在新的Cast表中为精灵寻找造型成员
举例:
setthecastLibNumofsprite3tothenumberofcastlib“Newcast”
constrainH
语法:
constrainH(whichsprite,va1ue)
用途:
此函数首先计算表达式va1ue的值,然后和精灵的左右矩形边缘坐标进行比较。
如果表达式在精灵左右矩形边缘之间,就返回这个表达式;如果这个表达式小于精灵矩形边缘的左边的坐标值,就返回精灵矩形左边边缘的坐标值;如果表达式大于精灵矩形边缘右边的坐标值,就返回精灵矩形右边边缘的坐标值
举例:
putconstrainH(1,20)
--30
putconstrainH(1,60)
--60
putconstrainH(1,100)
constrainV
语法:
constrainV(whichsprite,va1ue)
用途:
和constrainH类似,但是是和精灵矩形边枢的上下边缘进行比较。
举例:
setthelocVofspriteltoconstrainV(3,themouseV)
constraint
语法:
theconstraintofspritewhichSprite
用途:
此属性可以将一个精灵的移动范围限制在另一个精灵的矩形范围之内。
举例:
settheconstraintofspritelto2
cursor
语法:
thecursorofsprite
用途:
此属性决定了鼠标在指定的精灵上面的时候使用的光标形状。
举例:
setthecursorofsprite20to4
editable
语法:
theeditableofspritewhichSprite
用途:
此属性决定了字段精灵是否能在电影播放期间被编辑。
举例:
settheeditableofsprite5toTRUE
foreColor
语法:
theforeColorofspritewhichSprite
用途:
此属性决定了精灵的前景色,但是只有在1位颜色深度的位图精灵和形状精灵上才会是精灵显示发生改变,就像在工具栏中选择了前景色一样。
举例;settheforeColorofspritel0to36
height
语法:
theheightofspritewhichSprite
用递:
此属性决定的是精灵的垂直高度,以像素为单位。
举例:
settheheightofspritel0to26
ink
语法:
theinkofspritewhichSprite
用途:
此属性决定的是精灵的颜料类型,其有效的颤料类型值如下:
0——Copy
1——Transparent
2——Reverse
3——Ghost
4——Noicopy
5——Nottransparent
6——Notreverse
7——Notghost
8——Matte
9——MaSk
32——Blelfld
33——Addpin
34——Add
35——Subtractpin
36——Backgroundtransparent
37——Lighiesi”
38——Subtract
39——Darkelst
举仔个settheinkofspritelto8
left
语法:
theleftofspritewhichSprite
用途:
此属性决定了精灵矩形边框的左边框的坐标。
举例:
setvLowest=theleftofsprite(i+l)
lineSize
语法:
thelineSizeofspritewhichSprite
用途:
此属性决定了形状精灵的线宽类型,以像素为单位。
举例:
setthelineSizeofsptiie4to3
loc
语法:
thelocofspritewhichSprite
用途:
此属性决定了精灵的注册点的坐标,其值是一个点坐标
举例:
putthelocofsprite6
--point(50,100)
locH
语法:
thelocHofspritewhichSprite
用途:
此属性决定了精灵注册点的水平位置。
举例:
setthelocHofspritel5tothemouseH
locV
语法:
thelocVofspritewhichSprite
用途:
此属性决定了精灵注册点的垂直位置。
举例:
setthelocVofspritel5to240
member
语法:
ihememberofspritewhichSprite
用途:
此属性决定了精灵所使用的造型成员和其Cast表。
举例:
setthememberofspritel5=member3ofcastLib4
memberNum
语法:
thememberNumofspritewhichSpriie
用途:
此属性仅仅决定精灵所使用的造型成员,而不决定造型成员所在的Cast表
举例:
setthememberNumofsprite3to35
moveableSprite
语法:
themoveableSpriteofspritewhichSprite
用途:
此属性决定精灵是否能在电影播放期间被移动。
举例:
setthemoveableSpriteofsprite5toTRUE
puppet
垮法:
thepuppetofspritewhichSprite
用途:
此属性决