一、Director篇问:Director中如何对Access数据库进行读、写和字段匹配?
答:通过DBGrid控件可以实现这一功能。
问:在director 8.0中,如何在播放头离开后,停止播放SWF的声音?
答:7.02以后,Director对支持Flash的插件进行了更新,使得Flash的视觉效果大大改观,比Flash直接打包成的exe还要好很多,尤其是在有颜色渐变时。但是也带来了一个问题,就是声音会独占资源。解决的方法是在start
movie里加上如下语句:
on prepareMovie
the soundKeepDevice = 0
end
问:如何把*.wrl文件运用在Director中?
答:用IE控件,连接文件就可以。
问:如何在Director 7.0以上版本实现某一movie内写好的脚本切换至另一movie时继续有效?
答:第一点你要保证你在另外的Movie里用的变量在主Movie里都已经定义为全局变量,再就是你可以在主Movie里用TELL
命令告诉另一Movie要做什么事情,这就需要具体情况具体对待了。
问:GIF 文件导入Director8,用backgroup transparence
的墨水效果,但当显示屏颜色调到256色时,所有白色以及浅色的地方都变透明了,什么原因?如何解决?
答:因为颜色数减少以后,白色和浅色被视作为一种颜色,最好的解决方法是,用代有Alpha通道的图片透明选项,选用Alpha透明这样就非常的干净了。
问:在1024*768下做的dir文件,大小为800*600,播放时上面和左边均有一条白边,在800*600满屏下播放也去不掉,生成后依然存在,怎么解决?
答: 主要是没有居中,在打包成为exe的时候, 在project的对话框里面选择 option按钮然后选择Center window就可以。
问:在Director 8中如何插入用JAVA(APPLET)编写的程序,可否利用ACTIVEX——IE?
答:在Director 8中插入JavaApplet,我是用IE的浏览器ActiveX来显示带了Applet的homepage但注意在ActiveX中的任何事件都全被ActiveX自己吸收。至于要用Director
8输出java源码再修改,应该可以,但小程序继承于Applet类,你要用反编译软体将显示图形的JavaApplet译成源代码并加以修改。
问:使用WEBXTRA可以插入,在WIN2K下运行可以,在WIN98下速度很差。在使用ActiveX时会不会存在发布的兼容性问题?如IE5和IE4。使用ActiveX时如果IE禁止APPLET还会显示吗?
答:
如果你只是插入applet,那就没有问题了。ie4、5的差异我个人认为是VB与JAVA脚本程式上。如果在设置中禁止applet,那么applet将不会显示。在win98下确实很慢,所以要配背景音乐,不要放在d8中播放。用html中的bgsound语句调用mid会好很多。
问:Director7.0以上版本从一个movie切换至另外一个时,原movie的.WAV背景音乐不能连续,(6.5可以),用Directmedia播.mid也一样,如何解决?
答:这是文本的原因,因为Director 6.5默认的存储文本的方式就是按照位图(1 Bit),可是director
8.0默认的不是,而Director对于文本的处理需要预调一大段时间。动手写一个将电影中的所有文本全转成图片的程序,问题就可以解决了。其实这主要应为在dir中使用了大量的文本,不知道你的是否也属于这种情况。
问:flash 和director怎样传递变量?
答:在安装目录中show
me目录下有一个flash与lingo交互的例子,它用了三个不同的方法,大家可以看一下。在flash中设置变量,并赋值,在director中用
getVariable(sprite flashSpriteNum, "variableName" ;)
函数获得此变量的值。
如:在flash中设变量为v=5
在director中假设一个临时变量tempv,
假设此flash演员在2号通道,则
tempv=getVariable(sprite 2, "v" ;)
就可以得到v的值了
问:在Director 8.0的 Paint画椭圆和线时,会有黑色阴影出现,画矩形则没问题,是什么原因?
答:显卡驱动程序已经旧了,与win98不能很好的工作,换个比较新的显卡。
问:几个Cast,分别为obj、obj1、obj2、obj3,如何用lingo给sprite 1指定随机轮流出现这4个Cast。用set the
member of sprite 1 to member "obj" of castLib "internal"只能出现一个,是否要用random?
答:首先要把这几个members摆放在cast window里连续的位置上,就可以用random function.
sprite(me.spriteNum).member=member(random(4))
问:在Director 8.0中的字段中不能输入中文,一输入就死机应该怎么办?
答:这是一个Director 8.0的bug,在director 8.5就已经解决了
问:如何才能在Director 8.0里加入PowerPoint2000的文件?
答:可以用 PowerPoint2000 的 ppt 文件打包为播放器的可执行文件,然后用 Director 的 open 命令打开这个 exe
文件。这样你必须安装打包模块。在“文件”菜单中的 “打包”命令,按照步骤可以生成播放机可执行文件*.pps、ppt文件播放依赖于powerpoint环境。Office2000光盘的"x:\PFILES\MSOFFICE\OFFICE\XLATORS"有ppt.pps的播放器(Ppview32.exe),建议把这个包含播放器的文件夹“XLATORS”拷贝到你的projector路径下,在Director内部用"open
*.pps" with the moviepath&"xlators\Ppview32.exe"调用即可。这样即使用户机器上没有安装Office,你的pps(ppt)文件仍可以正常播放。同时你也可以通过使用PPViewer
Xtras 来实现。
问:播放一段avi,能否让Director自动设置必须的长度?
答:用设置sprite帧数去匹配avi(声音也一样)时间是不保险的做法。因为director的播放速率最终还受客户机器速度的影响。若客户机速度较慢,将不能达到正常的播放速率。而avi等视频文件会采用丢帧的方式维持时间长度。解决方法是,avi只须设置一两帧,在最后一帧的tempo里设置wait
for cue point为avi通道的end。
问:在Director的sprite
1中插入一个MPG文件,我只想让它占用一帧的空间,然后使用lingo来判断它是否正在播放,用什么命令来判断?
答:你用Director Media Xtra插入mpg就可以用lingo很好地进行控制。
问:想做一个小球由左往右运动,如何用Lingo改变运动的速度?
答:puppetTempo x
问:如何让一个物体在一定的时间内,渐渐的变暗?
答:on beginSprite me
pSprite=sprite(me.spriteNum)
pSprite.blend=0
end
on exitFrame me
if pSprite.blend < 100 then
pSprite.blend=pSprite.blend + 5
end if
end
问:Director电影如何随机播放外部声音文件?
答:用随机函数 random(n)生成一个数,
再用 sound playFile 调用一个外部声音。
例如:
set rannum=random(10) --有10个外部声音
set soundfilename= "sound" & string(rannum)
--生成外部声音文件名,如:sound1,sound2...sound10
sound playFile 1,soundfilename
问:在Director中,如何将从文本库中搜索的文本,一行行地显示在一个field中?
答: member("text").line[ i].text=gtext
问:在Director中如何做屏保?
答:下载一个Cinemac For Macromedia Director 1.5u
问:如何实现对stage尺寸的缩放?
答: (the stage).drawRect =
(the stage).rect =
问:Director 8中如何使用alpha通道?
答:Photoshop中输出tif带通道的图(将所需图象处选取,在select菜单下选取存储新通道就可以。Director
8中使用alpha通道,绝对可以避免毛边问题! 要注意只能含有一个alpha通道,在输出时不要选中exclude alpha channal and
exclude non-image data,不能选lzw压缩,Dr导入是32bit。
问:怎样才能在Director 7.0 中控制 QuickTime VR ?
控制QTVR全景最好的方法就是swing(sprite whichQTVRSprite, pan, tilt, filedOfView,
speedtoSwing)
问:如何在Director 7.0 中使用 Access 或 SQL Server 数据库呢?
答:director 连数据库有一些插件,如Fileflex和V12-DBE,有用ActiveX连的,但速度很慢。
问:如何在Movie中实现邮件递交功能?
答:在 macromedia 站点的
www.macromedia.com/support/director/ 中查找有关 multiuser 的 xtra 的 一篇 article
就详细描述了如何用 multiuser xtra 发送 email ,其实如果你仔细看过有关 multiuser xtra
的帮助文件里面捎带提到了一句,很容易被忽略掉。 但是你不要指望复杂的带附件的 email 发送,而且也只是实现了 smtp 协议,而没有 pop
协议的实现,但是对于发送文本已经够了。好在是免费的。
问:出现director player errorthis application requres an xtral(text) that
eighter does not exist or failed to intialize prorerly please make sure the
appropriate xtras are in the xtras folders(s)该如何处理?
答:是xtra的问题,在projector的同级目录下建一个xtras文件夹,把用到的xtra都放进去就没事了。或者打开每一个dir文件,看modify\movie\xtras,里边列出缺省打包的xtra,都抄下来,然后打开你想单独打包的dir,打开modify\movie\xtras,把缺少的xtra添加进去。
问:在movie播放后检测如果鼠标没有点屏幕一段时间,让Director返回到frame 1?
答:on startmovie me
the timeoutlength=yourtimelength--for example:60*60*3(三分钟)
the timeoutMouse =true
end
在需要等待的地方放上以下程序:
on timeout
go to 1
end
另外,可参看可设置是否可触发时间的从新算的另一属性timekeydown,timeoutplay及上一次操作到当前时间所经过的时间值timeoutlapsed。希望对你有帮助咯。
问:在Flash中做的按钮,在DirectorDIRECTOR8中使用,鼠标老是箭头状,请问如何与在FLASH里一样,变成手指状?
答:用mouseOverButton属性。
if sprite( flashSprite).mouseOverButton then
sprite( flashSprite).cursor = 280
else
sprite( flashSprite).cursor = -1
end if
问:如何在miaw01开另一个miaw02,且在不同的播放环境中保持miaw01与miaw02空间关系相对固定?
答:1.director 8.0可以在MOVIE属性中直接设定每个DIR离屏幕左上的值
2.用Rect,用算法来得到
3.用系统属性the DeskTopRectList获得监视器分辨率,根据监视器分辨率不同确定miaw02的位置来达到目的。
问:请问在创建exe文件时,系统报错“this file is locked."是怎么回事?
答:很有可能是局域网的其它用户打开了这个文件。
问:用Open Windows打开新窗口,但是原来主窗口的声音继续播放,关掉新窗口,但新窗口里的影片声音也在继续,该怎么处理?
答:可以在Open Window语句之前加上sound stop 1或sound stop 2一类的语句,让声音停止。
在新窗口里写一个公用函数,里面也加声音停止的语句。
在关掉新窗口时调用这个函数,声音就停止了。
问:“#” 操作符号的功能是什么?
答:可以说“#” 在Director中的作用是非常大的,主要有以下作用:
1:在behavior中得到Property的值是
2:在SendSprite时(SendAllSprite)
3:可以用#????来代替一个不容易理解的值,更加方便自己明白自己的程序。
比如,#AviChannel总是比37这个数字容易记得住。
问:在Director中插入.mov后很大,有无办法将执行文件变的小点?
答:对于WAV,你可以压缩成SWA,如果牺牲一点品质就可以控制在1M以下。
对于MOV,也可以压缩,如果还不行,那就没法子了。另外MOV的动画可以用director 来做或是用flash做,这样体积会减少不少。
问:Director 8中只要点击一个按钮就可将当前图案设为墙纸,应该如何作?
答:使用Xtra buddy API可以实现。
问:关于the key的问题?
答:在the key的值是一直不变的除非下一次再按一个键,没有办法清除 the key的值,所以编写程序的时候会出现一些问题,有如下解决办法:
第一种 就是使用 if the keypress("字符名称") 来解决的
第二种 就是使用
on keydown
if the key=“xXXX”来解决的
要避免the key 的这个问题就是把它放在 on keydown这个事件中这样只有当按键以后才会执行这个the key
避免了不变化的问题
发生问题的原因是
首先设置sprite(1)。visible为false
在帧脚本中家了
on exitframe
if the key="1" then sprite(1).visible=true
end
结果在后来若干帧之后我同样再操作一边的时候
sprite(1)。visible为false
死活没有做用原来是该帧中写了依据
on exitframe
if the key="1" then sprite(1).visible=true
end
而前面的 1已经安下去了所以一进入这个帧条件就生效所以 隐藏的那句话就不其作用了
而用keypress没有问题
一、Authorware篇
问:如何使制作的光盘自动播放?
答:在根目录下加入Autorun.inf 文件。其格式为:
[autorun]
ICON=图标文件名
open=应用程序文件名
问:怎样才能让图片全屏?
答:双击图片,设置图片比例。
问:在AW中如何插入动态的GIF图片?
在菜单中选择insert/media/quicktime3,在弹出的页面中单击browse,选择gif文件就可以了。
Authorware 5.1以上的版本可以直接插入。
问:怎么能够实现配音说完以后背景音乐还能够播放?
如果你两个声音都是wav文件就会有问题。Authorware里面不可以同时播放两个wav文件的解决方法
1把背景音乐做成midi, 配音用wav。
2 使用DIrectmedia Xtra插件可以同时播放多个声音
问:如何插入并控制一段Powerpoint的文件?
答:插入后,在Edit下,Ole Object下面选择attribute,在Ole
Package前打勾,即可。用Ole的话,打包后在其它计算机上播放可能会不正常(如果它没装PowerPoint的话)
问:导入AVI,打包后,不能正常运行该视频?
答:播放时需要A5VF32.XMO文件,看看有没有Copy过去。
问:程序播完后,如何能去换掉MM公司的版权信息?另外打包后的图标如何更换?
答:关键在runa5w32.exe这个文件,用一个编程用的资源编辑器改一下就可以了,同时也可以更改打包文件的图标,版权信息,状态栏信息。不要试图去修改打包完成的*.exe文件,往往会破坏文件造成运行失败。
问: AW中用哪一个命令可以调用.A5R文件?
答: jumpfile跳到.a5r
jumpfilereturn跳到外部文件.exe
问:怎样加入GIF动画?
答:用aw5.1以上的版本可以通过Inset->Media->a gif
5.1以下可以用外部函数调用
问:等待图标上Continue字样能改成别的吗?
答:Modify->File->Properties->Interaction命令可以修改。
问:如何制作一个自动根据显示器分辨率自动调整的课件?
答:调用外部函数Cover.U32,里面有两个选项,Cover覆盖屏幕,Uncover显现屏幕,一定要记得退出程序时用Ucover还原。
问:请问在AW是用什么记录Windows\system32\的路径?
答:
函数在Fileio.x32中getOSDirectory()可以得到安装操作系统的目录,“windows\system32\”即为“getOSDirectory()^"\\system32\\"”,另外还有很多外部函数具有这样的功能。
问:怎样在Authorware中插入mp3?
答:插入mp3的方法很多,主要有:
使用QuickTime
插入,同样可以插入多种媒体文件,而且AW对QT的支持也是很好的。最重要的是它是免费的,只要你安装了QT4。0以上版本就可以了
使用外部函数调用,我们可以通过调用外部扩展函数来插入mp3,很多函数都支持!可以在网上查找一下。
问:移动鼠标就自动退出的程序该如何做?
答:可以由两种方法制作:
a.可以做一个热区交互(鼠标移入相应),吧热区覆盖整个屏幕,后面放个退出
b.使用计算图标
mx:=CursorX
my:=CursorY
repeat while mx=CursorX&my=CursorY
end repeat
Quit()
注意:执行程序时鼠标千万不要动,一动就退出。此可以放在屏保中用。
问:在AUTHORWARE中导入WORD或EXCEL文件,如何实现滚屏显示?
答:目前只有ole可以做到。
问:如何快速选择图标?
答:1.快速选择连续的图标:如果要选择一组连续的图标,可以用左键在流程线上拖动 产生一矩形框,包含在框中的几个图就可选中。然后统一操作。
2.快速选择不连续的图标:对于不连续的图标,可先按住SHIFT键,然后用左键依 次选择所需的图标,选择完毕统一操作。
如何快速引入多媒体对象?
为了在程序中插入一段声音,往往是先在流程线上放一声 音图标,然后再通过该图标插入声音,其实Authorware支持文件的直接拖放,你完全可
以不用声音图标,而直接将某一目录下的一个声音文件用左键拖到流程线上,Authorwar
e会自动替你将声音图标加上,方便快捷。对于图像、影像、文字等都可以采用这样的方 法,使得多媒体的创作更为直观。
如何快速调整文字界宽?
将鼠标箭头置于字符边框的调节方框上点击,就可以快速微调宽度,使字符正常显示。
问:如何将图片作为外部联结引入到程序中,并如何设置引入图片的路径?
答:Import时选择Link方式.如果希望动态改变链接的文件,在Import时文件名一栏中填一个等号和一个变量名如"=MyDynFile",程序中动态改变MyDynFile变量的内容就可以动态显示不同的文件。
问:如何显示函数中的变量值?
答:在显示图标中使用这样的形式:{变量名}。
问:怎么才能在程序中实现对Wav的控制?
答:使用Authorware提供的函数MediaPause,MediaPlay,MediaStop,MediaSeek等。
问:如何去掉文件的File菜单项?
答:先设置一个与File重名的下拉菜单交互(把交互名改成"File"),然后用擦除图标将其擦去即可。
问:如何才能随心所欲地暂停和继续程序播放?
答:在程序前面做一个永久交互,方式为return,分支中放一个wait图标。
问:在Authorware中如何制作一组bmp文件,然后用数字电影引入?
答:制作一组256色的BMP位图,并以数字序列的方式命名,数字长度为4位,如my0001.bmp,my0002.bmp...,然后在AW中用数字电影图标选择BMP序列类型并导入第一幅图即可,AW会自动导入全部图片组成动画。透明色同FLC动画。注意目前的Photoshop等工具制作出的256色BMP图AW不能识别,解决方法可以用画图工具打开每一张图,做一点看不出来的改动再存盘即可。
问:Authorware5.0中“级别”、“图标名称”等一系列文字变得看不清楚,该如何解决?
答:这是因为你的系统中装了与AW冲突的字体,找一下,把那些字体删掉就行了。
问:怎样用Authorware全屏播放MPG或AVI?
方法1:在视频图标下放一个空图标,执行之,到空图标时会自动进入编辑状态,点中视频就可以放大它了。
如何使用ODBC连接数据库?
1、ODBCOpen(WindowHandle, Var,数据源,用户名,密码)
,WindowHandle只要照写就行了,它是Authorware的系统变量,是演示窗口的句柄。举个例子:
odbchd:=ODBCOpen(WindowHandle, Var, "dd",
)假设这里dd是我在控制面板中设的ODBC数据源,是PARADOX数据库,所以不用用户名和密码;
2、然后可以用SQL语句来查询结果了,如果要从我的PARADOX目录中的KEY.DB表中查出所有记录的KEYNO字段值,这样写:
Data:=ODBCExecute(odbchd, "select KEYNO from key.db") ODBCClose(odbchd)
,从中取出KEYNO的值放在变量DATA中。
3、关闭数据库连接,ODBCCLOSE(odbchd)
要注意结果是一个字符串,可以用字符串处理函数处理,为了防止不必要的麻烦,请构造好合适的SQL语句,以免产生巨大的结果字串,详见各种SQL语言资料。
如何制作永久性按键交互?
在触摸屏查询项目的制作中,我们不能在鼠标上加入退出功能,因为不能让用户中断程序的运行。但是维护人员每天要结束程序关机如何处理呢,简单的做法是用键盘实现退出,而键盘平时是锁在机柜中的。但是你可能发现,想在程序运行的任一时刻结束运行,通过按键交互是不行的----因为按键交互没有永久性选区项!这里提供一种变通的做法:在程序开始处加入一个热区交互并设为永久性,然后把热区拖动屏幕外面不可能点击到的位置,最后给它设置一个热键如ESC即可,程序运行的任一时刻按ESC都会进入这个交互分支。不通过其他工具调用默认浏览器打开Html文件还记得我们提过的JumpOutReturn吗?用就它将要打开的HTML文件名放在第二个参数--文档名参数中就可以了。如JumpOutReturn("",FileLocation^"readme.htm")。就是这么简单:)。要打开WEB上的网页?这样做:JumpOutReturn("","http://studybk.my169.com/index.htm")。注意文件名不能省略,所以只能打开指定的Web文件,而不是任意的URL。同理,这个方法不能调入默认邮件程序发邮件,看来第三方的工具还是有机可乘的啦。
问:如何快速预览一个图标中的内容?
答:用右键单击,就会自动演示其中的内容,再次单击则结束。对
于显示图标,会显示其中的内容;对于声音图标,则自动播放声音;对于影像图标,则播放包含的影像;对于擦除图标,自动显示要被擦除的对象,非常方便。
问:如何制作隐型菜单?
答:用热区与热对象结合。
问:如何改变鼠标样式?
答:可在AW中加载(填加)自定义鼠标,然后使用SetCursor(type)系统函数更改鼠标样式。其中自定义鼠标样式,type从51开始。详见AW中S
etCursor(type)函数说明。
问:做Login时怎么让Password显示为星号?
答:插入ActiveX:RefEdit.Ctrl,将PasswordChar设置为*即可。
问:如何在显示图标里面播放声音?
答:1打开显示图标
2选择File import
3 选择 external选项
4 把file name这里改成*.*
5 试图导入一个 .wav文件.但是你被告知不可那么做
6 先导入一个图片代替一下 (外部连接)
7 双击图片
8 单击导入按钮
9 把file name这里改成 *.*
10 导入.wav文件这次你可以导入了!!!!不管外部还是内部
11直接双击图标播放