问:一个动画在.dir中用到了pause和continue,运行时pause和continue都可正常运行,但是当我创建可执行文件后,pause可以使用,continue却不起作用了。
答:on mouseup me
if the pauseState = TRUE then
continue
else
pause the stage
end if
end
问:director 中自带的文本滚动条不是很美观,如何能够改变一下它的外观
答:不要他自己带的,自己做,方法是改变scrolltop的值。
问:director8.5最多能支持3dmax的什么版本
答:目前只能支持到3dmax 3!
问:如何使sprite绕某一点转动?
答:.先把精灵的注册点设为旋转的中心点,然后建立帧脚本
on exitframe
sprite(x).rotation=sprite(x).rotation+1
go the frame
end
问:如何做透明的可任意变形的PROJECT?
答:
http://yufeng21.com/multimedia/director/smaple/Dir.htm
问:啥是MMB?
答:Multimedia Builder 是一款制作多媒体程序的优秀软件 。下载:
http://yufeng21.com/down/
教程:
http://yufeng21.com/multimedia/mmb/index.htm
问:在D中能不能使一个物体即可以转动又可以移动(用鼠标拖动或转动)
答:可以的,.loc loch locv是位置属性,rotation是角度属性
问:如何在D中控制Flash按纽的形状?
答:
1,此办法最简单,就是在有按扭的的地方放一个透明的角色,鼠标的改变由该角色所属的行为控制。
2,在flash的编程环境下做相应的程序编写:
在该按扭下加以下语句
on (rollOver) {
getURL ("lingo:cursor 280");
}
on (rollOut) {
getURL ("lingo:cursor -1");
}
3,方法同2相近,但是直接调用d的程序:
在该按扭下加以下语句:
on (rollOver) {
getURL ("event:mouseenterfb");
}
on (rollOut) {
getURL ("event:mouseleavefb");
}
然后在D编写以下脚本:
on mouseenterfb me
cursor 280
end
on mouseleavefb me
cursor -1
end
该方法比2虽然有点麻烦,但相对灵活,你在D就可直接编辑需要的动作,例如,如果你需要鼠标进入时,需要文字提示,那么,你只在D中就可以完成
问:我用dmtools作了效果,输出exe or dcr时就没作用了。我把.x32放到同一目录或再建一个为xtras的子目录也不能,
答:到gcc.51.net看看
问:在webxtra中如何写入相对路径,因为作品要刻成光盘。或自动任光盘盘符。
答:这里相对路径跟一般的相对路径一样,可以用的有@、the moviepath均表示电影所在的路径,/是上一级、\表示下一级。
问:我制作的程序需要安装QUICK,如何编写检测系统中是否安装过了其中的系统文件,比如quick.sys,这样没有安装可以先启动安装Q程序,否则可直接启动EXE。
答:用QuickTimeVersion()可以返回安装quicktime的版本,如果其值<3,则可判断没有安装,反则已安装。
问:当鼠标移动到某个菜单上时,鼠标下方会出现提示文字,说明此菜单的功能,鼠标移开,提示文字消失。
答:可以用精灵的visible属性来实现的。
on mouseenter me
sprite(me.spriteNum+x).visible=1
end
on mouseleave me
sprite(me.spriteNum+x).visible=0
end
--x是指把提示文字所在的通道数减去菜单精灵通道数
问:用了几个xtra很容易在D8中实现位图、文本等member,sprite的打印功能,可当member是矢量图时,它们就不灵了,肯请各位大虾不吝指教,或提供xtra,
答:如果你的矢量图在stage上,把stage的相应部分copy 到一个bitmap成员中,再打印
问:如何在director中实现语音与画面同步?
答:可以在语音中插入线索点,当线索点到达时,显示相应画面。可以在声音编辑软件中插入线索点可以用soundforge这个软件。也可以用cooledit编辑线索点.
Q:在Director中使用了DM Xtreme Transition Pack做的效果,在Director编辑状态下运行正常,但在打包后却看不到设置好的效果,是怎么一回事呢?
A:这通常有两种情况
1.需要注册DM Xtreme Transition Pack,而你没有注册;
2.路径问题,如果你没有把DM Xtreme Transition Pack打包进去,请确保电影目录下有一个xtra文件夹,并把DM Xtreme Transition Pack 这个xtra拷贝到里边。
Q:请问一下Director中为什么导入纯白色的图后,不能拖到舞台(stage)上?
A:在Director中,导入图片时不选中(Trim White Space)复选框,这样导入的图片就不会去白边,就可以导入白色的图片。如果你想导入非矩形的纯白色图片可以试试这样做,用Photoshop做图,背景颜色属性设置设为RGB(255,255,255)的纯白色,但把你做的非矩形图的颜色属性设置为RGB(254,254,254)的近似纯白色,再引入到Director中,这样在Director中当你在把它拖到舞台上后,就可以使用这近似纯白色的非矩形图片了。
Q:如何控制精灵的显示属性?先把一个精灵的Visible设为Fales,想显示它是如何设置其Visible为True?这句Lingo语句该怎样写?
A:sprite(whichsprite).visible = True –设置精灵显示属性为可见
如:sprite(1).visible = True –这句是将精灵1的显示属性设置为可见,
当然,把精灵设置成不可见,将True 改成Fales就可以了。
Q:使用DirectorMedia-Xtra插件播放MPG文件时可不可以对MPG影片实现播放、暂停控制 ,该如何实现?
A:当然可以,具体语句如下:
播放:videoplay(sprite of the videoSprite)
暂停:videopause(sprite of the videoSprite)
Q:把图片放到舞台上时,移动图片后,用精灵属性面板改变L和T的值后,图象的比例就会改变,压扁或拉伸,请问怎么作不会发生上述问题。
A:改动精灵位置请修改x,y的值,不要改L(left)和T(top)。
Q:在Director中如何设置电影在不同的机器上播放时都是满屏的,记得在Authorware中可以设置满屏(full screen),但是我在Director中没有找到这个选项?
A:设置成满屏有两种情况,根据你的作品的显示要求而定。
1.如果想在运行你的作品时保持舞台的原始尺寸而其他多出的地方用单色填充,那你可以把舞台背景色设置成你想填充的颜色,打包的时候在Option中把“Full Screen”选项选上就可以了。
2.如果想在运行你的作品时无论观看者的屏幕设置为任何分辨率都达到填满屏幕,可以在影片中加上以下电影脚本:
on startmovie me
(the stage).rect = (the desktopRectList)[1]
(the stage).drawRect = (the desktopRectList)[1]
end
这样就可以了,影片永远都是全屏显示。
Q

n mouseDown me
o=random(10)
go to o
end
假设有十个不同的marker, marker的名称分别为(sa1,sa2,sa3,sa4……)
怎么随机跳到某一个marker呢?
A:这样就可以On mouseDown me
go frame "sa" & random(10)
end
Q:在同一个按钮上,第一次单击,关闭背景乐,第二次单击,播放另一首背景乐?
A:指定某一个通道来播放声音,单击时检测声音通道时候忙(是否播放音乐),如果忙则关闭,如果不忙,则产生随机数字,这个数字就是音乐的序号,播放这个音乐就可以了。
代码如下:
property i
on beginsprite
i=10
y=1
puppetsound 1,i&".wav"
end
on mousedown
if soundbusy(1) then
puppetsound 1,0
else
if i>1 then
puppetsound 1,i&".wav"
i=i-1
else
puppetsound 1,"1.wav"
i=10
end if
end if
end
Q:Filmloop演员为何不能加行为库的行为?
A:因为行为已经无法判断filloop重新放置后的帧和通道。
Q:怎么屏蔽ESC键?
A:在影片开始写下如下代码:
On startmovie me
set the exitlock to true
end
Q:怎样控制在Director导入的FLASH动画快进和快退?
A:创建一按钮,在按钮的Behavior Script中写下下面代码,作用是使FLASH动画后退,
On mousedown me
a=sprite(x).Frame
sprite(x).goToFrame(a-1)
end
以上代码中X代表FLASH动画做在的精灵通道号,1为每次后退的帧数;
如果你想快进只要把sprite(x).goToFrame(a-1)换成sprite(x).goToFrame(a+1)就可以了。
Q:用SCROLLING方式出现的文本,他的滚动条是自动移到最后一行。有没有办法让他一出现就到第一行。
A:源代码如下:
on beginsprite me
sprite(me.spritenum).member.scrolltop=0
end
Q:家如何让鼠标指针进入一个按钮上的时候,让它跳转到某个帧上或者一个标记上自动播放。谢谢大家了。
A:在一个按钮的Behavior Inspector中Events设mouseEnter的Actions为Go to frame或Go to mark。
Q:有一段自适应屏幕大小的LINGO,请问要放在那里才能发挥作用呀?
A:放在preparemovie和startmovie句柄中都行。
Q:在Director中的Lingo语言中,有没有这样一个函数或语句,当点击某一个按钮或精灵时,其它一些帧上的脚本即程序就被屏避,不起作用了。
A:你可以设置若干个全局变量,利用变量的值控制阵脚本是否继续运行。
Q:怎样让avi文件播完之后自动跳转到另一个dir文件?
A:多数情况下AVI都是有声音的,这样你就可以通过判断声道是否忙来间接判断AVI文件播放完了没有!
另种解法:
1: 判断当前播放的时间与AVI文件的长度,以决定跳转与否,X为AVI通道号
on exitFrame me
if the movietime of sprite X < the duration of (the member of sprite X) then
go to the frame
else
跳转
end if
Q:请问我往Director中导入MIDI为什么经常报错,能不能用LINGO调用MIDI呀?
A:如果不想用xtra的话,可以使用MCI
set midifile = "music.mid"
mci "close all"
mci "open " & the pathname & midifile & " type sequence alias song"
mci "play song from 0" ---mci用director不好控制
mci "pause midi1"
另种解法:
使用QuickTime 将midi转为mov格式
01. 怎样才能在放映机(projector)中得到完整的错误信息以便于调试?
[A] 对于最终用户,Director禁止显示产生问题的代码的真实的错误信息。要想打开这个功能,可以新建一个名为projector.ini(这里projector就是你的放映机文件的名字)的文件,或者是新建一个shockwave.ini的文件,放在shockwave系统文件夹中。在文件中包含以下文本:
[Lingo]
DisplayFullLingo ErrorText=1
这个会使Director像在书写模式中一样使用完整的描述性错误。
02. 为什么有些透明的背景图片有“光晕”效果?
[A] 与一个白色背景一起插入8位或16位的图片时,有时会在图片周围产生一圈由白色象素组成的光晕。如果你仔细地检查,会注意到它们经过抗锯处理,不是纯白色。可以试试下面的方法:
1. 用32位的图片。这个方法允许使用一个alpha通道,而不是增加文件的大小。
2. 用白色填充这些像素点,使它们成为明显的硬边。
3. 在演员表中使用mask的图片,并在精灵中使用mask的墨水效果。
03. 怎样建立一个Mac和PC混合的CD ROM?
[A] 在PC上有一些象CD Everywhere这样的程序可以帮你做,但在Mac上用Adaptec Toast更简单。在Toast里,执行Go to Utilities-->Create Temporary Partition,在Mac里生成一个650MB的分离空间,把它命名为你CD的名字,用Command + I命令改变图标并将你选定的图标粘贴进去,然后拷贝所有mac文件和共享的内容进这个分区并且按照想要的方式组织光盘内容。
一旦你完成这步,将所有pc独享文件(不包括共享文件)拷贝到新分区之外的文件夹里。在Toast里选一个Mac/ISO的混合版面,把你建立整个Mac卷拖到Mac这边,然后打开这个卷并且选择任何在Mac和PC间可共享的文件,在Toast里把这些文件从分离空间里拖到PC这边。
现在将那些额外的PC文件拖进Toast并且按版面设计排列它们,使它们就像在PC盘面上一样。将pc文件用Joliet方式命令,此时你可以按mac的方式作些设置,比如自动播放,最后保存并刻录.
04. 我能输入和输出Access的数据吗?
[A]可以。用Paradigmasofts网站上的ODBC工具,你可以输入或输出来自任何ODBC数据源的数据。在要输入/输出之前,你需要用正确的方法(相对于其它的数据库)来设置Valentina数据库。你也可以阅读在Cursor Xtra上的ImportASCII和ExportASCII命令。
05. 为什么我的按钮运行起来不一致,有时候能用,有时候又不能用?
[A] 这个问题很难查明,但要注意的是:
1. 核对一下脚本代码的拼写是否正确。大多数时候,这是所有问题的起因。
2. 检查两个脚本是否有冲突。你有没有在sprite上设置多样的行为,而这些行为中有些有冲突?你是否在运行一个精灵角本的同时有一个一个演员角本也在运行?
3. 是否在帧中是否有一个带有转场的循环。如果有的话,这是不对的,我们宁可把循环放在下一个画面。
06. 我怎样才能提高电影的回放(playback)效率?
[A] 这个问题就连行业中的专业人员也都在探索。有很多因素都可以使回放的速度变慢,但都和内存管理有关。如果你在一台只有很少内存的机子上放你的电影,其效果当然不会比在一台有很多内存的机子上放好。
那么我们怎么解决这个问题呢?
1. 让你的文件越小越好。这并不意为着你就只能用黑白图片或简单的图形,它的意思是在要用很多高分辨率的图片时,你要小心一点。保持低的颜色度,尽量低到实用就行了。
2.不要使用多余的图片。意思是如果你有一个只有少部份区域变化图片的动画,就最好为变化区域单独设置演员。避免重复同样的演员,删除没用的演员,然后选择‘Save and Compact’。
3. 不要使用大量Director内存的其它东西。使用大量的transparency ink 效果(例如 fades),为一个zoom类型的效果而用很大的可伸缩图片,以上几点都会使Director运行困难,所以如果用不同大小或是不同透明度的分割的图片,它可能会运行得快些。
4. 声音占了很大的空间,可以用Shockwave Audio做实验试试。使声音与画面同步可能会很难,因为它依赖于电脑读取声音和画面的速度。要想使两者紧促的同步,你必须用简短的声音和使用速度设置来等待提示点。
5. 要使你的电影平稳的播放,最主要的方法是避免你的Director过度工作。将你的影片分成几个易于管理的部份,把大电影做成很多的小电影,Director一次只读取一部分,这样比一次把所有的东西都读出来而导致整个系统变慢好多了。
6. 如果你有很多数字视频或是大的CAST成员,那么在它们用过后把它们从内存卸掉吧。
07. 我怎样从所有自定义调色板中得到界面的颜色?
[A] 清除你的所有的事件中的8位图形的一个最好的方法之一,就是为你的界面建立一个分离的调色板,再用你自定义的颜料去填充它们。
要达到那个目的,最好的工具是Fireworks。用128色的gif格式输出你所有图片,选择File-->Export preview并将格式设置成gif,调色板设置成adaptive,颜色数设置成128。然后为你的project建立带有所有界面按钮的分离文件,命名文件为“Interface”,并且用与“Interface.gif”相同的格式输出图片。用8位的自定义调色板把所有的图片导入到Director,每一张图片都会有各自的自定义调色板。找到“Interface”调色板并且双击,选择所有的128个颜色再按下control+c(复制到剪贴板)。打开每一个自定义调色板,你可以看见每一张图片的调色板里只有头128个颜色,剩下的都是黑色。将每个调色板的后128位颜色替换,然后双击它们中的一个并选择前128个颜色。在调色板窗口里单击储备颜色按钮并选择“selected colors”,然后打开“interface.gif”成员并映射到前一个调色板。导入所有的界面按钮并把它们映射到前一个调色板,然后你就要从所有颜色中把储备清除。
这个技术对背景来说是非常好的。如果你需要很小的,清楚的,8位背景图片,那么这是个好方法,界面图片将使用自定义调色板下128位颜色。
08. 我怎样才能得到一个不规则的或是“cutout”的成形MIAW?
[A] 在Director7或是以后的版本中,要得到一个自定义的成形MIAW,只要简单的把windowType设置成一个1位的位图即可:
(window "windowName").windowType = member("1 bit bitmap")
09. 怎样才能使Macromedia许可我的产品?
[A] 你是怎样用发行协议发行你用director 8.0 建立的产品的?你必须向Macromedia提供两份副本,并且用正确的尺寸显示logos,WEB地址是什么?等等...
10. 怎样使我的MIAW与主电影连接?
[A] 用Lingo “tell”,例如:
tell window "window name"
go to frame 1
end tell
或者
tell the stage
handler()
end tell
结束tell 将会使命令停止去其它的window。
问:Director中如何对Access数据库进行读、写和字段匹配?
答:通过DBGrid控件可以实现这一功能。
问:在director 8.0中,如何在播放头离开后,停止播放SWF的声音?
答:7.02以后,Director对支持Flash的插件进行了更新,使得Flash的视觉效果大大改观,比Flash直接打包成的exe还要好很多,尤其是在有颜色渐变时。但是也带来了一个问题,就是声音会独占资源。解决的方法是在startmovie里加上如下语句:
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自己吸收。至于要用Director8输出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),可是director8.0默认的不是,而Director对于文本的处理需要预调一大段时间。动手写一个将电影中的所有文本全转成图片的程序,问题就可以解决了。其实这主要应为在dir中使用了大量的文本,不知道你的是否也属于这种情况。
问:flash 和director怎样传递变量?
答:在安装目录中showme目录下有一个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 themember 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)文件仍可以正常播放。同时你也可以通过使用PPViewerXtras 来实现。
问:播放一段avi,能否让Director自动设置必须的长度?
答:用设置sprite帧数去匹配avi(声音也一样)时间是不保险的做法。因为director的播放速率最终还受客户机器速度的影响。若客户机速度较慢,将不能达到正常的播放速率。而avi等视频文件会采用丢帧的方式维持时间长度。解决方法是,avi只须设置一两帧,在最后一帧的tempo里设置waitfor cue point为avi通道的end。
问:在Director的sprite1中插入一个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菜单下选取存储新通道就可以。Director8中使用alpha通道,绝对可以避免毛边问题! 要注意只能含有一个alpha通道,在输出时不要选中exclude alpha channal andexclude 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 站点的
http://www.macromedia.com/support/director/ 中查找有关 multiuser 的 xtra 的 一篇 article就详细描述了如何用 multiuser xtra 发送 email ,其实如果你仔细看过有关 multiuser xtra的帮助文件里面捎带提到了一句,很容易被忽略掉。 但是你不要指望复杂的带附件的 email 发送,而且也只是实现了 smtp 协议,而没有 pop协议的实现,但是对于发送文本已经够了。好在是免费的。
问:出现director player errorthis application requres an xtral(text) thateighter does not exist or failed to intialize prorerly please make sure theappropriate 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,在OlePackage前打勾,即可。用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支持文件的直接拖放,你完全可以不用声音图标,而直接将某一目录下的一个声音文件用左键拖到流程线上,Authorware会自动替你将声音图标加上,方便快捷。对于图像、影像、文字等都可以采用这样的方 法,使得多媒体的创作更为直观。
如何快速调整文字界宽?
将鼠标箭头置于字符边框的调节方框上点击,就可以快速微调宽度,使字符正常显示。
问:如何将图片作为外部联结引入到程序中,并如何设置引入图片的路径?
答: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的系统变量,是演示窗口的句柄。举个例子

dbchd:=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中SetCursor(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直接双击图标播放