Director常见问题汇总.docx
《Director常见问题汇总.docx》由会员分享,可在线阅读,更多相关《Director常见问题汇总.docx(47页珍藏版)》请在冰豆网上搜索。
Director常见问题汇总
在网上找的一些,复制过来留着有空的时候看
Director常见问题汇总,看看吧一定有你需要的。
*问:
请问用MMB来启动director作的产品,能加快其运行速度吗?
答:
加快速度不能,调用是可以的。
就是运行EXE文件,在你的按钮里加入run*.exe就可以了。
*问:
AUTHORWARE和DIRECTOR学习那一个好?
答:
想快上手学AW,想让作品尽善尽美学Director。
director的灵活性很强,学过一点编程语言的人非常容易的。
而且现在8.5版本加入了3d交互功能。
总体感觉Authorware限制的太死,必须按照它的思路一步一步做,约束了人的创造力;现在做教育方面的课件还是aw用的比较多点,D用于商业比较多,但就我看来今后的发展趋势Dr比aw可扩展性当然更强;要根据工作容而定,如果要交互性比较强,又要快速出活,就使用AW,要想出精品,或动画功能较强的使用D,D对于有一些编程基础的人来说有一些亲切,而AW有一些难受。
试个人情况而定,正常情况下只要是D能实现的AW也能实现,反之怡然,只要学精了都一样。
*问:
在AW中如何制作透明按钮?
答:
可以用热区。
*问:
D8的热区怎么用?
答:
方法一:
可以用inside(point,rect),例如inside(themouseloc,rect(0,0,100,100))可以判断鼠标是否位于矩形rect(0,0,100,100)里.
方法二:
做一个透明角色,在该角色上放行为,这个角色所在地区域就成为热区了.
*问:
把director8.0文件导出为avi时,为什么转场效果没有了?
答:
director输出为AVI时,只是简单把每帧的图片图片输出组合而成,所以转场、脚本产生的变化及声音均无效。
*问:
D8中可不可以调用API函数?
答:
D8中不可以直接调用API函数,buddyapi是一个比较好的插件.
*问:
在director中如何插入Html文件,具体该怎么做?
答:
对于一些简单的Html文件,可以直接导入,并且在演员属性中把UseHypertextstyles属性选上;对于比较复杂的文件,可以用MicrosoftWeb浏览器控件,如果你机器上装有IE,都应该找得到.另外WebXTRA这个插件是专门用来插入Html文件的.
*问:
不知能否控制一个演员在舞台上的帧数?
答:
当然是可以呀,你在score修改就可以了,一般默认是28帧,这个参数可以自己设置,我就喜欢用1帧,在一帧的情况下,你需要增加的话有好几种方法,包括鼠标拖动(需要按住ALT键),在属性面板修改,用键盘ctrl+b.
*问:
在director8中,如何实现与外部数据库或.txt文本文件交互?
答:
读取文本文件,象FILEIO,DIRECOR8中本身就有,但连接数据库的话就需要插件了,这种插件有好几个,如bitDBreaderXtra是个不错的插件。
*问:
在director的exe,如何解除esc功能鍵
答:
onstartmovieme
settheexitLocktoTRUE
end
*问:
请问在director里面做文本框的滚动条是否需要插件?
答:
不需要的,若是在"text"中选择其属性中设置一项,改"framing"的属性为"scrolling",若在"field"中则直接在属性栏中的"framing"的属性改为"scrolling"。
在director的库行为中就有现成的customscrollbar
*问:
我想在director里面做一段背景音乐,无论是调用其他dir文件,都是以这段音乐为背景音乐,应该怎么做?
答:
可以去这里看一看:
aougu./bbs/wdbread.php?
forumid=1&filename=f_99;
*问:
如何更改DirectorProjector.exe的icon
答:
director本身不能自己改变这个图标,必须要依靠其他程序,例如:
HOOLICON。
*问:
director制作多媒体时,用哪些lingo语句能实现把一个文件夹中的图片和文字作为一个演员表
答:
member(imagename).filename=newimagepathandname
其中imagename是演员表中一个图象演员的名字,等号后边的是你需要用的图片的路径和名称,可以是常量也可以是变量,如果你运用得灵活,几乎可以做到acdsee的很多功能呢.
*问:
不同的mouse状态时用什么样的按钮效果,你自己可以修改按钮文件名.
答:
mouseEnter时的按扭图片
onmouseEnter
globalNormal
ifthecurrentSpriteNum=Normalthen
ifthestillDownthen
setthememberofsprite(thecurrentSpriteNum)tomember"按扭1"
updateStage
endif
endif
end
--mouseLeave后的按扭图片
onmouseLeave
ifthecurrentSpriteNum<>EMPTYthen
setthememberofsprite(thecurrentSpriteNum)tomember"按扭1"
updateStage
endif
end
--mousedown时的按扭图片
onmouseDown
globalNormal
putthecurrentspritenumintoNormal
setthememberofsprite(thecurrentSpriteNum)tomember"按扭2"
updateStage
end
--mouseUp时的按扭图片
onmouseUp
globalNormal
ifthecurrentSpriteNum=Normalthen
setthememberofsprite(thecurrentSpriteNum)tomember"按扭1"
updateStage
endif
setNormal=empty
end
*问:
如何在水平移动的精灵的一定围中添加或删除竖直直线?
答:
member("Happy").image.draw(0,0,128,86,rgb(150,0,0))
这是帮助里的一段,更详细的帮助请以draw为查找索引。
*问:
如果要画一条某种颜色的直线,那么在draw中的颜色代号是如何得到的呢?
答:
rgb(00,00,00,)就是颜色的grb模式,
*问:
要让两个精灵(.bmp),2被1盖住的地方不露出来,而没盖住的地方露出来!
怎么办?
答:
如果1和2分别也代表通道的顺序,那么把这两个通道换个位置,否则是2盖1而不是1盖2,通道数大的一般在通道小的上边;也可以用ALPHA通道是一个办法,但可以考虑在D本身的两墨水:
matte和backgroundtransparent,前着边框以白色透明,后者角色所有白色透明。
*问:
我把一個flash放在第一至十幀,而flash內是有它的背景音樂.但跳到第十一幀時,那背景音樂依然播出?
答:
在startmovie里加一句:
onprepareMovie
thesoundKeepDevice=0
end
*问:
当我打开一个miaw关闭后声音就停止了,不知道什么原因,无论是用本身关闭还是用tell舞台关闭都无法解决?
答:
用play"电影名"的话就没有这个问题,用open就没有办法了。
*问:
我在影片里做了循环的背景音乐,可在转换窗口后背景音乐停止,再转回也不播放了,请问怎样才能解决?
答:
调用外部文件,如soundplayFile3,themoviepath&"\sound\bgsound.wav",这是比较好的办法,无论怎么转换影片,它多能一直播放,但外部文件的循环不好控制,所以需要在每个需要这个声音文件播放的影片里加一个电影脚本
onidleme
ifnot(soundbusy(4))then
soundplayFile3,themoviepath&"\sound\bgsound.wav"
endif
end
*问:
关于director的函数、命令的更多资料那里有?
答:
帮助里的lingo词典其实是非常好的lingo参考。
*问:
在.dir文件中放上avi视频文件后,又在avi所在的时间表score后边加上一些文本,作出来的效果就是当我打开该.dir文件后先显示视频文件.avi,然后再点击"小灵通简介"再显示该文本(该文本在舞台上的位置是最开始视频文件所在的位置,只不过面积小了点)。
不知道是什么原因,当我点击"小灵通"时,文本文件也显示了,就是因为文本文件面积太小,没有被该.txt完全覆盖部分的视频文件,还是一片视频文件中的背景。
!
答:
把directtostage的选项去掉即可。
*问:
我想在影片里加入一个表格,用户输入完后可存在硬盘上,不知道应该怎样解决?
答:
D的表格最好的方法是用HTML来做,可以用fileioxtra来储存.
*问:
还要把用户输入的信息用电子发出去,怎么做呢?
答:
方法一:
简单的有利用gotonetpage,方法是用mailto:
****.***代替URL,如:
gotonetpage"mailto:
",(不能定义信件容)更高级的方法请参考这篇文章:
.director-online./accessArticle.cfm?
id=477;
方法二:
可以用插件Directmail中的SetEmail=New(Xtra"DirectEmail",服务器地址如果使用的是的,应该是smtp.163.,这是发的服务器,
*问:
在录音时,怎样才能减少噪音?
答:
一般用cooledit录音效果就很不错,而且声音质量不能压缩太低。
质量选在11khz,4bit听起来效果不错,大小也还可以接受。
录音质量与硬件也有关系。
MIC,线材,声卡
*问:
请问在Director中,当先加入Flash影片,再加入AVI时,AVI片断无声音,请问如何解决?
?
答:
.fableage./cgi-bin/forum/topic.cgi?
forum=3&topic=23这里有资料供参考。
*问:
怎样使用lingo来更改屏幕分辨率?
?
答:
改变分辨率,需要用插件,如:
DirectOSXtra,tools里面的DMFunction.x32等
*问:
怎样来移动影片窗口?
答:
propertydmouseloc--鼠标鼠标新位置
propertymaydraw--鼠标是否按下,即拖动是否起作用
propertymousex,mousey--按下鼠标时所在的位置
onbeginspriteme
maydraw=#false
mousex=0
mousey=0
end
onexitframeme
gototheframe
ifmaydraw=#truethen
dmouseloc1=(themouseloc)
stagerect=thestage.rect
x1=dmouseloc1.loch
y1=dmouseloc1.locv
x=x1-mousex
y=y1-mousey
(thestage).rect=stagerect+rect(x,y,x,y)
endif
end
onmousedownme
dmouseloc0=(themouseloc)
mousex=dmouseloc0.loch
mousey=dmouseloc0.locv
maydraw=#true
end
onmouseupme
maydraw=#false
end
*问:
我想在字符串中加入换行符,不知应该怎样做?
答:
seterror="please"&return&"ok"
*问:
我做得动画(图片)在每次运行后会改变形状,而下次再运行时必须恢复原貌,怎样做呢
答:
从sprite的height,width这两个属性来读取sprite所属member的height,width.
*问:
当webxtra在D8中插入HTML时需要完整路径,也就是说我在另一台机器上运行时如果与原来的机器的路径不对那HTML就无法看见了,有什么办法使用相对路径呢?
答:
在适当的位置加:
setthestartURLofmember5tothemoviepath&"\html\my.html"
*问:
还有什么插件可以使D8使用有图文混排的HTML?
当然能使用相对路径
答:
webxtra
*问:
我做的动画里用到的sprite是一幅图片,而动画每play一次就会使该castmember改变一点,为了使下一次播放时的castmember是原来未改变前的图片,怎么做呢?
答:
把图复制一下,做成两个bitmapmember("IniBitmap","Newbitmap")
onbeginspirteme
member("newbitmap").image=member("IniBitmap").image
end
*问:
做一个DIRECTOR电影,首页为一个导航页,当点击某按钮后播放avi视频文件,并且能够控制AVI视频的暂停、返回上页、继续等?
如何做?
答:
播放:
sprite(avispritenum).movierate=1
暂停:
sprite(avispritenum).movierate=0
返回:
sprite(avispritenum).movierate=-1
回绕:
Sprite
(1).movietime=0
快进:
putthedurationofthememberofsprite1=X
Sprite
(1).movietime=x
重放:
Sprite
(1).movieRate=-2
尾接:
Sprite
(1).movieRate=2
侦向前:
Sprite
(1).movieRate=0
putthemovieTimeofsprite1intoX
setSprite
(1).movieTime=X+10
开/关循环:
puttheloopofthememberofsprite1intoX
setSprite
(1).loop=notX
以上是有关AVI的基本控制。
双倍速度播放:
sprite(avispritenum).movierate=2
另外利用movietime可以控制播放头位置,单位tick
*问:
谁能告诉我在Director8中如何引入Flash的.swf文件。
答:
可以直接导入
*问:
如何在director种自定义文本滑快!
答:
利用member(membername).scrolltop可以做到控制文本滚动
*问:
字段文本中输入英文,可以判断字的位置进行设置鼠标经过时的变色、加下划线等操作,但是如果是中文,一加这些,鼠标一经过,就死,真是没辙,请各位大虾指点
答:
由于软件对中文字的支持并不是很好,所以多用TEXT,而不用FIELD,也可以用HTML。
*问:
如何能够在Director里面任意改变自己所制订的光标.
答:
cursor[castNumber,maskCastNumber]
cursorwhichCursor
cursor(memberwhichCursorCastMember)
还有就是利用隐藏鼠标cursor200
然后利用鼠标跟随如
onexitframeme
sprite
(1).loc=themouseloc
end
sprite
(1)所用的演员可以是可见演员的所有类型,这个缺点是需要把帧速率适当提高。
*问:
关于if循环,我用了三个演员,第一个演员脚本为
onmouseup
globalflag
setflag=0go2.
end
第二个演员脚本为onmouseupifflag=0thengo3elsego1.
第三个演员脚本为onmouseupsetflag=1go2.
这样应该可以实现演员中的相互跳转吧?
为什么scpirt提示有错:
变量flag已经附值,"ifflag=?
"呢?
我的意思不是在第二个演员处附值flag=0啊!
答:
应该在所有使用了flag的脚本中声明该变量。
*问:
在dir8.0下如何使用U32的插件?
答:
拷贝到xtra目录下面,在message窗口中用showxlib命令列出来所有的xtra
找找跟刚才这个名字相近的xtra名字,在message窗口中输入putinterface(xtra"xtra名字"),回车就会把这个u32的函数列出来。
*问:
本人为了完成在编程中完成有点到直线的渐变(速度为gotheframe(+1))
先制作一与背景色相同的直线,然后用另一种颜色在该直线上画出一条直线,看上去就象是由点变成了直线,我想按照这个思想,应该draw能实现的,但是却做不出来?
答:
如果这条直线是水平,或者是垂直的,直线用shape画,开头帧设置为宽度(垂直为高度)1,结束帧288(看你要画多长),这样画直线的动画就出来了。
如果用程序来做的话如下:
propertywidthX,heightY,x,y,heightnum,widthnum,i,stepnum
onbeginspriteme
i=0
widthX=member
(1).width
heightY=member
(1).height
x=widthX/2
y=heightY/2
ifwidthX>heightYthen
stepnum=heightY
heightnum=1
widthnum=float(widthX)/float(heightY)
else
stepnum=widthX
widthnum=1
heightnum=float(heightY)/float(widthX)
endif
end
onexitframeme
gotheframe
ifi>stepnumthenexit
i=i+1
startX=x-i*widthnum
endX=x+i*widthnum
startY=y-i*heightnum
endY=y+i*heightnum
member
(1).image.draw(startX,startY,endX,endY,[#lineSize:
3,#COLOR:
rgb(0,238,0)])
end
*问:
如何在director中实现鼠标右键功能!
!
答:
onrightmouseup,rightmousedown就是右键功能。
*问:
我作了个贺卡的多媒体,设置了打印按钮,请问如何写脚本.打印贺卡容
答:
printFromfromFrame(toFrame)(reduction)
如printFrom1,3,50--打印第一到第三帧上的所有容,面积为舞台的50%
*问:
谁有director插件的VC接口文档或示例给我一份
答:
到MACROMEDIA的上去找了
*问:
*图片不断地随机跳动,当按下键盘时画面停止,并保持最后出现的画面。
答:
ramdom(number)可以产生0-number中随意的一个数,从而可以产生随意效果,onkeydown事件检测键盘是否被按下,从而结束跳动
*问:
我制作两个director文件,第一个在声轨2有一wav文件,播放时声音循环播放;在第二个文件中有一段自带声音的avi文件。
我由Butten把文件一导航到文件二时,如何使文件一的声音切段播放avi的自带声音。
我现在在文件二的开头制作了一个无声的wav文件堵住声轨二,文件一的wav声音在到文件二时确实没有声音了,但avi声音播放却不稳定,我在有的电脑上放有声音有的电脑却没声音,这又时为什么?
答:
在文件一中把声音关掉。
puppetsound2,0
*问:
1:
制作3盘的程序,如何实现?
2:
通过同一个dir文件如何调用多尺寸不一致的jpg文件?
答:
关于第一个问题,相信难度是换盘的时候,方法是做一检测光驱的程序,拷贝到硬盘,在换盘的时候,调用检测程序,然后检测插入的光盘指定位置的某个特殊文件,当返回时运行光盘上该运行的文件即可。
第二个问题,你可以用一个全局变量来储存上一次访问的位置。
*问:
一好长有按钮的图片用鼠标可左右拉动并可点击图上的按钮
答:
首先是拖动。
你可以用行为库的行为,或者直接用可拖动的属性(但还可以上下拖动,不太符合你的要求),可以自己写,用到的属性是sprite(me.spritenum).loch和(themouseloc).loch,需要注意的是要计算鼠标按下时的横坐标与角色坐标的距离。
其次是按扭,要跟随图片移动,以下一段作参考:
propertydistance
onbeginspriteme
distance=sprite
(1).loc-sprite
(2).loc
end
onexitframeme
sprite
(2).loc=sprite
(1).loc-distance
end
*问:
在给演员画直线的时候,需要给他们中的一些变量赋初值(如i=0)。
由于我用的是framescript
怎么做也不能使赋的初值实现。
怎么做呢?
具体应该用什么命令呢?
答:
可以在moviescrip中定义全局变量,并赋初始值
如:
onstartmovie
globala
a=0
end
这个值只要你在使用前赋给它就行了,一般来说,都在onbeginsprite赋初值,但要记住,必须定义变量才可以在onbeginsprite以外的事件才可以调用。
*问:
能不能同时关闭两个窗口?
lingo如何控制?
判断窗口是否打开或关闭?
lingo怎样判断某窗口是否打开或关闭?
答:
利用引用该窗口的变量可以检测,如miaw1=void时为关闭,另外,利用thewindowlist可以返回所有窗口(包括不可见的)。
同时关闭两窗口,只要在同一事件关闭两个或多个窗口如
onmouseupme
globalmiaw1,miaw2
miaw1.close()
miaw1.forget()
miaw2.close()
maiw2.forget()
end
*问:
director文件是否可以转换一下并在vcd里播放?
答:
应该可以吧,但是质量不时很好,看你有什么方法。
至于VCD自动播放,那要看用