director 常见问题解答
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
director常见问题整理
Q: 为什么用MX2004打包后会显示标题栏?
A:把display template中的titlebat options里的选项都取消就可以了。
Q:如何在DR中打开word文件
A:1,在d内打开须使用activex
2,在d外打开调用word程序打开即可
Q:怎样实现让用户选择不同的背景音乐?
A:on mouseUp me,7v@
fileobj=new(xtra "fileio")~M+Hhf
fileobj.setFilterMask("all file, *.*,mp3,*.mp3,wave, *.wav")i
filename=displayOpen(fileobj)^|kHUb
if filename="" or filename=void then exitU9
closefile(fileobj) jhI
sound playFile 2, string(filename)
end
Q:请问怎么给mpg视频加遮照?
A:1,利用open widndow 做视频遮照
2,用MPEG advance xtra 插件,在属性窗口中把 playback opitions 下的DTS取消了,就可以了,然后就在视频之上的通道里放你遮的图片即可
Q:怎么检测本机是否连接到intel网上?
A:WinSocket Xtra Ad可以实现,说明:
WinSocket Xtra 是一套Sprite Xtra,一共有三个,分别为 TCPServer.X32,TCPClient.X32和UDPSocket.X32。
TCPServer.X32是服务器端xtra,TCPClient.X32是客户端xtra,采用 Tcp/ip协议。
互相配套用于网络信息传递,可以构建类似聊天室,多人连线游戏。
UDPSocket.X32采用 UDP 协议。
独立用于网络信息传递,也可以构建类似聊天室,多人连线游戏。
Q:flash动画导到dr后声音和动画不同步怎么解决?
A:使用线索点,最好调好以后把它锁定。
Q:如何检测用户是否安装quicktime,若无就提示安装?
A:on exitframe me
if quicktimeversion()<5.0 then
open the moviepath@"quicktime\fullinstallercn.exe“
halt()
else
go "start"
end if
end
Q:为什么发布成exe文件后视频不能正常播放?
A:1.打包后Xtras文件夹是否在打包文件夹下,是否包含播放视频所需插件
2.视频是否为mpg,如使用DirectMediaXtras,mpg文件是否与exe在同级目录下
Q:如何实现点击打开本地文件夹?
A:gotoNetPage("c:\")
不过路径中不要有中文!
Q:如何将dr里的flash导出?
A:ExportSWF.x32插件。
说明:
object = xtra("ExportSWF").new()
object.exportSWF(member(1), "c:\ss.swf")
第1个参数是Flash演员,第2个参数是要保存的路径。
Q:请问如何打开dxr文件?
A:你可以借助dirOpener300-850-1-PC.exe这个软件,但无法看到lingo语法.
Q:怎样分别控制两个声音通道的声音?
A:sound(n).volume=m
n=1,2,3,4,5,6,7,8
m=0?255
Q:请问dr能否输出avi格式的文件?
A:可以,文件-〉输出-〉弹出对话框在底部的格式处选择 .avi
Q:请问在dr中如何实现按“F1”调用帮助,且在不同的地方调用不同的字段呢?
A:定义F1键就可以了;在调用函数的时候传递一个参数,参数的取得是当前光标所在位置上的单词
Q:miaw中如何定位弹出的窗口啊?
A:利用tell命令+rect命令
Q:求键盘代码表?
A:语法:1、if the keyPressed =" " then doSomething
2、if the keycode=49 then doSomething
the keycode
esc -- 53
1-- 18
2-- 19
3-- 20
4-- 21
5-- 23
6-- 22
7-- 26
8-- 28
0-- 29
- -- 27
= -- 24 backspace -- 51 ` -- 50
Tab -- 48
a-- 0
b-- 11
c-- 8
d-- 2
e-- 14
f-- 3
g-- 5
h-- 4
i-- 34
j-- 38
k-- 40
l-- 37
m-- 46
n-- 45
o-- 31
p-- 35
q-- 12
r-- 15
s-- 1
t-- 17
u-- 32
v-- 9
w-- 13
x-- 7
y-- 16
z-- 6
space-- 49
delete-- 117 Home-- 115
End-- 119
pageUp-- 116 pageDown-- 121 Pause/Break-- 113 \ -- 42
/ -- 44
. -- 47
, -- 43
下-- 125
左-- 123
右-- 124
小键盘:
/-- 77
*-- 66
- -- 70
+ -- 78
. -- 65
0 -- 82
1 -- 49
2 -- 84
3 -- 85
4 -- 86
5 -- 87
6 -- 88
7 -- 89
8 -- 91
9 -- 92
功能键
F1:122
F2:120
F3:99
F4:118
F5:96
F6:97
F7:98
F8:100
F9:101
F10:109
F11:103
F12:111
Q:请问按任意键退出要怎么设置?
A:在电影脚本中添加如下代码:
on keyDown
quit()
end
Q:请问DIRECTOR中最小化按纽程怎么写?A:on mousedown me
appMinimize
end
Q:请问DIRECTOR中最大化按纽程怎么写?
A:on zoomWindow。
end
Q:如何判断文件是否存在?
A:用fielio实现
file_name=(the moviepath & “你的文件夹”/"你的文件" )--存放文件的路径 myFile = new(xtra "fileio") --创建FileIO对象
openFile(myFile,file_name,1) --打开这个文件.参数"1"为打开方式:
--0=r/w (read/write) ;--1=r (read);
--2=w (write)
if readFile(myFile)<>VOID then
......(语句)else
.......(语句)
end if
Q: 如何在dr中引用CHM格式的帮助文档?
A:用budapi插件里的open就可以实现
Q:请问在dr里导入flash后怎么控制播放和暂停?
A:sprite(通道号).play() ---播放
sprite(通道号).stop() ---停止
Q: 怎样在dr里面建数据库啊?
A: 借助插件EasyDB
Q: photocaster导入的psd图层怎么出现了很多斜杠?
A:这是因为没有注册的原因
Q:请问怎么改变dr的背景色?
A:使用_movie.stage.bgColor属性就可以了。
Q:dr程序为何在后台就不运行,这是否就是d是单任务的原因?
A:是打包选项设置的问题。
把“Animate in background”前面打勾就可以了。
Q:如何让影片循环播放?
A:在最后一帧上加入lingo在里面就行了
on exitFrame me
go to frame 1
end
Q: 请问如何从一个电影跳转到另一个电影的指定帧?
A:go frame 4 of movie"gh"
Q:如何去除exe文件界面四周的白边?
A:使用创建不规则窗口的办法。
用MIAW.可以用它去掉舞台边上一个像素的边框.建立一个 1x1全屏播放的projector,通过MIAW命令用它打开你的主影片,设置主影片的windowType为一个1 bit的位图,该位图你的主影片的形状.例如:
myMiaw = window("myWindow") --创建的MIAW
myMiaw.windowType = member("1 bit bitmap") --1 bit的主影片的形状的位图
Q:请问怎么才能插入光盘后自动运行光盘?
A:使用记事本,文件名最好命名为:Autorun.inf
内容如:
[autorun]
OPEN=Setup.exe
ICON=Setup.ico,0
Q:如何使GIF动画只播放一遍?
A:动态GIF和F一样,再属性面板有一个循环选项。
Q:请问如何能用director做一个隐藏的导航栏?鼠标放到屏幕边缘就有一个导航栏的那种?
A:方法很多!!
最简单,你在要加导航的地方放一个同大小透明的FIELD,
mouseWithIn,mouseEnter,mouseLeave,……
rollover也可以~~~
还可以用坐标区域进行判断~
Q:怎样用lingo编写帧速度?
A:puppetTempo 帧速
Q:如何用dir,打开一个外部的exe文件?
A:open"名称.exe"
Q:怎么给dir文件瘦身啊?
A:把文件另存一下,或者在FILE菜单里面选SAVE AND COMPACT
Q: 请教:在Dr中如何调整swf文件的播放速度?
A: 选中演员,选属性面板里面的FLASH选项的RATE。
1、选中角色时,按ctrl键点鼠标左键即可调出墨水菜单,很方便!
2、director的import对话框对一次导入的文件数目有一定限制,如果你的文件够多,可以选种n个直接从资源管理器中往cast中拖。
我上次一口气拖了800个文件进来!
3、我来一个:Ctrl + F打开文字的查找/替换窗口,不仅可以替换普通的文本,在script窗口中也可使用,例如可以方便更改整个script中的某一变量名称或数值。
4、增加通道中贞的长度用"ctrl"+]键。
减少通道中贞的长度用"ctrl"+[键。
5、在音频编辑时COPY音轨直接贴入CAST中,为WAV嵌入
6、Re:小技巧
在score中:
按alt移动精灵的某个关键帧,可以复制关键帧。
按ctrl移动精灵的某个关键帧,可以不影响到精灵的其他关键帧。
选中精灵,按ctrl+b可以裁切精灵的帧。
按ctrl+shift+]可以一次插入n帧。
当程序进入死循环没有响应时,可按ctrl+alt+.停下来
7、点击舞台上的精灵,会出现选择效果。
这时按小键盘中的“+”会去除选择效果,可以让较准精细些。
8、说说text,field的可编辑属性
1. text or field 想用一个按钮控制其可编辑属性,必须先是非编辑状态保存。
2.
当用 lingo 改变这个编辑属性 ( sprite(x).member.editable =1 ) 的时候
光标不会显示,也就是说出现了假编辑状态。
再执行: sprite(x).member.scrolltop=0 就可以了。
9、建立filmloop 的快捷方式:
选择目标精灵后,选择空演员,按Ctrl+V即可建立filmloop!
10、在Script窗口里,Ctrl+Enter可以自动对齐编写凌乱的代码并且做一个简单的检测
11、当你在 score 中 " 找不着北的时候 " 点图示红框中的按钮。
作用是把当前磁头所在 frame 在score 窗口居中。
12、cast中复制一个filmloop,d 在score中空白处CTRL+V,就能把原来的filmloop展开。
试试吧!很多人不知的。
13、双击位图处理器中的注册点,可以马上让注册点居中
14、跟一贴,选中精灵,按Ctrl+Shift+i,调出属性框。
按Ctrl+Shift+;,可调出Behavior框。
Ctrl+0,直接写脚本。
选中多个精灵,按Ctrl+k出对齐框。
Ctrl+s,保存。
在通道在选中一帖,按Ctrl+b,可删掉多帖。
选中一精灵,按Ctrl+L,锁定。
通道中选中锁定精灵,Ctrl+Shift+L,解锁。
Ctrl+R,开始装图片吧。
Ctrl+M,message窗口。
Ctrl+N,创建一个新文件。
15、terry 问的问题在调出属性面板的时候就会出现增加通道的选项
16、rtf 或者 word 文档中英文半角引号导入director中,有些字体引号显示乱码。
把 rft 或者 word 文档转存 txt 文档,然后导入就正常了。
17、ctrl+0 控制script窗口是否显示
ctrl+1 使stage显示在最前面
ctrl+2 控制control panel 是否显示
ctrl+3 控制cast窗口是否显示
ctrl+4 控制score窗口是否显示
ctrl+5 控制paint窗口是否显示
ctrl+6 控制text窗口是否显示
ctrl+7 当被选中时,显示tool palette
ctrl+8 控制text field窗口是否显示
ctrl+9 控制是否显示video窗口,如果安装了quicktime,则打开qt窗口
ctrl+- 当score窗口是活动的时,通过使每帧更窄而缩小分镜表视图.当舞台
是活动的时,将舞台视图缩减一个级别.
ctrl++ 当score窗口是活动的时,通过使每帧更宽而扩大分镜表视图.当舞台
是活动的时,将舞台视图扩大一个级别.
ctrl+左箭头把播放头移动到前一个标记
ctrl+右箭头把播放头移动到下一个标记
ctrl+上箭头把选中的元素向前移动一层
ctrl+下箭头把选中的元素向后移动一层
ctrl+' 显示选定的角色成员所附加的脚本
ctrl+; 查找指定的角色成员
ctrl+Y 重复最后一次动作
18、想实现这样一个效果:
当没有事件发生时是一张100×100的图片
当Mouse within时
变成一个100*100的电影片段
当Mouse leave时
再变成一张图片
直接把电影导入Director是不可以的,当Mouse within时电影会有问题
必须先把电影制作成一个独立的Dir
然后再导入这个Dir完成!
19、在舞台STAGE上按住空格键.可以控制整个STAGE位置.
20、文本变图片
在d中,对文本的支持大家都领教过了,所以对于一些简单的文本,我们希望可以在d中做,然后转化为图片,但个covert to bitmap实在不敢恭维,要有更好的效果,可以利用image这个属性,方法是建一个图片演员(随便画就行),然后在消息窗口输入member(bitmapmember).image=member(textmember).image,这样,就出来一个可以很好透明的文本图片了。
21、位图有光晕,可导入flash描边,形成.swf文件引入D
F中做的按扭在D中引用,非常靓,一句话,很多演员可在F中制作,在D中引用。
22、图像在 Adobe Photoshop 中编辑,制作前选择背景透明,最后保存时存成 psd 的格式,导入 Director 中不会有毛边,而且在 Adobe Photoshop 中的效果都有,包括图像边缘的半透明!!!很好的试试吧!!!!
23、写lingo时,用alt+enter快速换行连接
24、在score中,点击某个精灵,直接按任意键就可写如行为,且此行为自动附在该精灵上。
软件这东西是没有捷径可走的,得系统的学。
可能有C和VB的基础会容易上手些。
如果你有什么不懂的可以提出来,大家会帮你的!!
Flash component事件列表
A:根据Flash MX 2004和Director MX 2004的帮助信息整理。
侦听器是Flash中的概念,可以把它理解成Director中的事件处理程序(虽然不一定正确)。
Director MX 2004中的绝大多数组件的事件和Flash MX 2004中是一样的,但是也有些例外,例如Tree组件在Flash中就支持nodeOpen事件,但是在Director的帮助中却没有提及。
看一下Flash MX 2004关于组件的帮助,对理解Director中的组件会有很大的帮助,Flash MX 2004中的帮助绝对比Director中的要详细和具体。
下面是详细内容:
Botton组件
Click
在按钮上单击(释放)鼠标,或者当按钮具有焦点并按下空格键时,对所有已注册的侦听器进行广播。
CheckBox组件
Click
在复选框上单击(松开)鼠标时,或者,如果复选框有焦点并按下了空格键时,向所有已注册的侦听器广播。
DateChooser组件
chang
当选择日期时,向所有已注册的侦听器广播。
scrol
在按下月份按钮时广播到所有注册的侦听器。
Label组件
label组件没有事件
List组件
List组件没有事件
NumericStepper组件
change
当步进器的值更改时向所有已注册的侦听器广播。
RadioButton组件
click
在单选按钮上单击鼠标(按下然后松开)或使用箭头键选中单选按钮时,向所有已注册的侦听器广播。
当单选按钮组具有焦点,但组内没有单选按钮被选中时,如果按空格键或箭头键,该事件也会广播。
ScrollPane组件
completer
当加载完内容时向所有已注册的侦听器广播。
progress
在加载内容时向所有已注册的侦听器广播。
progress 事件并不会始终广播;complete 事件可能在未调度任何 progress 事件的情况下广播。
如果加载的内容是本地文件,尤其会出现这种情况。
当通过设置contentPath 属性的值开始加载内容时会触发此事件。
scroll
当用户按下滚动条按钮、滑块或轨道时,向所有已注册的侦听器广播。
与其他事件不同的是,当用户按下滚动条时,scroll 事件开始持续广播,直到用户松开滚动条。
当步进器的值更改时向所有已注册的侦听器广播。
TextArea组件
change
通知侦听器文本已更改。
在文本更改后广播该事件。
不能使用该事件防止某些字符添加到组件的文本字段,而应使用 TextArea.restrict。
TextInput组件
change
通知侦听器文本已更改。
在文本更改后广播该事件。
不能使用该事件防止某些字符添加到组件的文本字段,而应使用 TextInput.restrict。
该事件只能通过用户输入触发,不能通过编程方式的更改来触发。
enterk
通知侦听器 Enter 键已被按下。
Tree组件
nodeClose
在用户关闭 Tree 组件的节点时,向所有注册的侦听器广播。
Q: DIRECTOR WMV视频控制?
A:--currentTime 当前播放到第几贞
--duration当前WMV总贞数
--seek(??)WMV跳到第几贞
--play()播放
--pause() 暂停
--其他略
if sprite(?).currentTime =sprite(?).duration then --判断是否播放结束
go the frame+1end if sprite(?).seek(?????)跳贞*.
wmv ~~~~~director
Q: director 文本中能否加入表格?
A: 用member("文本演员").html属性可以做到。
Q: 请教,如何与数据库链接使用?
A: 常用的有三个,
ODBC,这个奥古有专门的讨论,但只能作查询,不能改库文件,收费的,
EASYDB,免费的,速度慢,功能还可以
V12,不属性,听说挺好,收费的
Q: 插入 .mpg 文件为什么总是绝对路径,怎么改相对的路径?
A:the moviepath&"work\strat.mpg"
Q:请问go to movie "main"和 play movie "main"的区别是什么?
A:gotomovie 是跳转到某个电影并播放
playmovie是播放某个电影
Q:save、save as和save and compact的区别?
A:回答这个问题首先需要了解director文件结构的有关知识。
一个Director movie文件包含的主要信息是cast和score,cast包含电影所需的原始素材,score包含电影播放的流程信息。
通过比较,可见cast对dir文件(包括dxr、dcr、cst和cxt等等)的大小影响最大,对影片播放的整体表现影响也非常大。
通常多媒体创作人员都需要考虑电影生成或者打包时的优化问题,例如,导入优化过的图形文件和视频文件等等。
但是,经常出现的问题是导入了很多资源,实际上并没有完全使用,以及在导入时是根据创作者的需要来导入,而并非出于movie播放的需要,cast members在cast窗口里的位置和次序并非呈现优化的状态。
这些都是开发者需要解决的问题。
对于头一种情形,可以在cast窗口右击鼠标,选择find unused members选项, 然后delete(注意当时使用lingo调用了没有在time line里面直接使用的演员时需要慎重,最好的解决方案是,对于以上类型的演员单独使用一个cast,对于这个cast不采用这种方法,而是进行手动和目视查找)。
对于第二种情形,就需要使用save and compact命令。
下面简单介绍一下以上保存方式的区别
save(快捷键ctrl + S):保存你所有自从上次save后的改变,改变的信息是加在原有的版本之上,换句话说,如果你一直不断的save, 文件会越来越大,即使你删除了某个cast member,然后save, 文件还是不会减小,适用于编辑状态下保存文件。
save as:对于标准的windows应用程序而言,当你重新保存一个文件的时候,使用save as命令。
不过对director来说,这个命令还有两个意义:第一,director在保存文件之前,先优化文件。
第二,你有了两个不同版本的movie文件。
在某些特殊情况下,director拒绝工作(例如应用程序出现假死机状态,不能用save保存),这时候利用save as再保存一次为新文件,就能够解决问题。
save and compact:这个指令和save as一样,先优化,再保存,和save as 不同的是,保存后自动删除旧文件,只留下最新的优化过的文件。
对于shockwave 和 CD-ROM的开发来说,这个指令的重要性是不言而喻的。
publish as shockwave之前,必须执行一次save and compact。
而如果有什么意外发生,无法使用sava指令的时候,save and compact就成了不可或缺的救急措施。
最后简单的介绍一下director文件优化的次序:
首先被写入文件的是一个director文件的文件头部分,也就是说将要首先载入RAM的内容是关于cast,score的纪录(这里指的是cast member在cast里面的次序和位置等信息而非媒体内容)以及编译好的lingo script, 这些内容通常会始终保留在RAM中,而且占用的内存空间很小。
接下来就是真实的媒体内容,嵌入式的媒体cast members先载入,优化时,这些members按照他们在score窗口出现的先后次序重排,尽管你在cast 窗口没有办法看到重排的次序,但当你用save as 或 save and compact 的时候,它是实实在在的发生了,也就是说score中的第一个帧所需要的所有的cast members 都会先被写入文件。
最后director会检查所有还没有写入的嵌入的媒体members, 这次是按照它们在cast 窗口里的次序写入文件。
例如我在前面所提到的,按钮的over和down状态的members, 他们通常是被lingo来调用而不是直接显示在score窗口里的。
与此类似的情形还有puppetSound所调用的声音members。
还有一个小窍门,如果你有一些cast libraries, 需要和你的项目里的多个movies都保持外部连接的方式,那你不必要每一个movie都使用sava and compact, 你可以使用菜单栏 Xtras --> update movies, 选择update movies, 这好像是一个save and compact 的批处理命令。
Q:如何建立超级链接?
A:on hyperlinkClicked me, data, range
statement(s)
end
如果是网页 go to netpage
Q:滚动条的的划块怎么初始化?
A:on beginsprite me
sprite(me.spriteNum).member.scrollTop=0
end。