x1=dmouseloc1.loch y1=dmouseloc1.locv x=x1-mousex y=y1-mousey
(the stage).rect=stagerect+rect(x,y,x,y) end if end
on mousedown me
dmouseloc0=(the mouseloc) mousex=dmouseloc0.loch mousey=dmouseloc0.locv maydraw=#true end
on mouseup me maydraw=#false end
*问:我想在字符串中加入换行符,不知应该怎样做? 答:set error = \
*问:我做得动画(图片)在每次运行后会改变形状,而下次再运行时必须恢复原貌,怎样做呢 答:从sprite的height,width 这两个属性来读取sprite 所属member的height,width.
*问:当webxtra在D8中插入HTML时需要完整路径,也就是说我在另一台机器上运行时如果与原来的机器的路径不对那HTML就无法看见了,有什么办法使用相对路径呢? 答:在适当的位置加:
set the startURL of member 5 to the moviepath&\*问:还有什么插件可以使D8使用有图文混排的HTML?当然能使用相对路径 答:webxtra
*问:我做的动画里用到的sprite是一幅图片,而动画每play一次就会使该castmember改变一点,为了使下一次播放时的castmember是原来未改变前的图片,怎么做呢? 答:把图复制一下,做成两个bitmap member(\
on beginspirte me
member(\end
*问:做一个DIRECTOR电影,首页为一个导航页,当点击某按钮后播放avi视频文件,并且能够控制AVI视频的暂停、返回上页、继续等?如何做? 答:
播放:sprite(avispritenum).movierate=1 暂停:sprite(avispritenum).movierate=0 返回:sprite(avispritenum).movierate=-1 回绕:Sprite(1).movietime = 0
快进:put the duration of the member of sprite 1 = X Sprite(1).movietime = x
重放:Sprite(1).movieRate = -2 尾接:Sprite(1).movieRate = 2 侦向前:Sprite(1).movieRate = 0
put the movieTime of sprite 1 into X set Sprite(1).movieTime = X + 10
开/关循环:put the loop of the member of sprite 1 into X set Sprite(1).loop = not X 以上是有关AVI的基本控制。
双倍速度播放:sprite(avispritenum).movierate=2 另外利用movietime可以控制播放头位置,单位tick
*问:谁能告诉我在Director 8中如何引入Flash的.swf文件。 答:可以直接导入
*问:如何在director种自定义文本滑快!
答:利用member(membername).scrolltop可以做到控制文本滚动
*问:字段文本中输入英文,可以判断字的位置进行设置鼠标经过时的变色、加下划线等操作,但是如果是中文,一加这些,鼠标一经过,就死,真是没辙,请各位大虾指点 答:由于软件对中文字的支持并不是很好,所以多用TEXT,而不用FIELD,也可以用HTML。
*问:如何能够在Director里面任意改变自己所制订的光标. 答:cursor [castNumber, maskCastNumber] cursor whichCursor
cursor (member whichCursorCastMember) 还有就是利用隐藏鼠标cursor 200 然后利用鼠标跟随如
on exitframe me
sprite(1).loc=the mouseloc end
sprite(1)所用的演员可以是可见演员的所有类型,这个缺点是需要把帧速率适当提高。
*问:关于if 循 环,我 用 了 三 个 演 员, 第 一 个 演 员 脚 本 为 on mouseup global flag
set flag=0 go 2. end
第 二 个 演 员 脚 本 为on mouseup if flag = 0 then go 3 else go 1.
第 三 个 演 员 脚 本 为on mouseup set flag=1 go 2.
这 样 应 该 可 以 实 现 演 员 中 的 相 互 跳 转 吧? 为 什 么scpirt 提 示 有 错: 变 量flag 已 经 附 值, \呢? 我 的 意 思 不 是 在 第 二 个 演 员 处 附 值flag=0 啊!
答:应该在所有使用了flag的脚本中声明该变量。
*问:在dir8.0下如何使用U32的插件?
答:拷贝到xtra目录下面,在message窗口中用showxlib命令列出来所有的 xtra 找找跟刚才这个名字相近的xtra 名字,在message 窗口中输入 put interface( xtra \名字\),回车就会把这个u32的函数列出来。
*问:本人为了完成在编程中完成有点到直线的渐变(速度为go the frame(+1)) 先制作一与背景色相同的直线,然后用另一种颜色在该直线上画出一条直线,看上去就象是由点变成了直线,我想按照这个思想,应该draw能实现的,但是却做不出来?
答:如果这条直线是水平,或者是垂直的,直线用 shape画,开头帧设置为宽度(垂直为高度)1,结束帧 288(看你要画多长),这样画直线的动画就出来了。如果用程序来做的话如下:
property widthX,heightY,x,y,heightnum,widthnum,i,stepnum on beginsprite me i=0
widthX=member(1).width heightY=member(1).height x=widthX/2 y=heightY/2
if widthX>heightY then stepnum=heightY heightnum=1
widthnum=float(widthX)/float(heightY) else
stepnum=widthX widthnum=1
heightnum=float(heightY)/float(widthX) end if end
on exitframe me go the frame
if i>stepnum then exit 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中实现鼠标右键功能!!
答:on rightmouseup,rightmousedown就是右键功能。
*问:我作了个贺卡的多媒体,设置了打印按钮,请问如何写脚本.打印贺卡内容 答:printFrom fromFrame (toFrame) (reduction)
如printFrom 1,3,50--打印第一到第三帧上的所有内容,面积为舞台的50% *问:谁有director插件的VC接口文档或示例给我一份 答:到MACROMEDIA的网站上去找了
*问:*张图片不断地随机跳动,当按下键盘时画面停止,并保持最后出现的画面。 答:ramdom(number)可以产生0-number中随意的一个数,从而可以产生随意效果,on keydown事件检测键盘是否被按下,从而结束跳动
*问:我制作两个director文件,第一个在声轨2有一wav文件,播放时声音循环播放;在第二个文件中有一段自带声音的avi文件。我由Butten把文件一导航到文件二时,如何使文件一的声音切段播放avi的自带声音。 我现在在文件二的开头制作了一个无声的wav文件堵住声轨二,文件一的wav声音在到文件二时确实没有声音了,但avi声音播放却不稳定,我在有的电脑上放有声音有的电脑却没声音,这又时为什么? 答:在文件一中把声音关掉。puppetsound 2,0
*问:1:制作3张盘的程序,如何实现?
2:通过同一个dir文件如何调用多张尺寸不一致的jpg文件?
答:关于第一个问题,相信难度是换盘的时候,方法是做一检测光驱的程序,拷贝到硬盘,在换盘的时候,调用检测程序,然后检测插入的光盘指定位置的某个特殊文件,当返回时运行光盘上该运行的文件即可。
第二个问题,你可以用一个全局变量来储存上一次访问的位置。
*问:一张好长有按钮的图片 用鼠标可左右拉动 并可点击图上的按钮 答:首先是拖动。
你可以用行为库的行为,或者直接用可拖动的属性(但还可以上下拖动,不太符合你的要求),可以自己写,用到的属性是sprite(me.spritenum).loch和(the mouseloc).loch,需要注意的是要计算鼠标按下时的横坐标与角色坐标的距离。 其次是按扭,要跟随图片移动,以下一段作参考: property distance on beginsprite me
distance=sprite(1).loc-sprite(2).loc end
on exitframe me
sprite(2).loc=sprite(1).loc-distance end
*问:在给演员画直线的时候,需要给他们中的一些变量赋初值(如i=0)。由于我用的是framescript
怎么做也不能使赋的初值实现。怎么做呢?具体应该用什么命令呢? 答:可以在moviescrip中定义全局变量,并赋初始值 如:on startmovie global a a=0 end
这个值只要你在使用前赋给它就行了,一般来说,都在on beginsprite 赋初值,但要记住,必须定义变量才可以在on beginsprite以外的事件才可以调用。
*问:能不能同时关闭两个窗口?lingo如何控制? 判断窗口是否打开或关闭?lingo怎样判断某窗口是否打开或关闭?
答:利用引用该窗口的变量可以检测,如miaw1=void时为关闭,另外,利用the windowlist可以返回所有窗口(包括不可见的)。 同时关闭两窗口,只要在同一事件关闭两个或多个窗口如 on mouseup me global miaw1,miaw2 miaw1.close() miaw1.forget() miaw2.close() maiw2.forget() end
*问:director文件是否可以转换一下并在vcd里播放?
答:应该可以吧,但是质量不时很好,看你有什么方法。至于VCD自动播放,那要看用什么软件刻录,如老软件VideoPack它就可以直接可以了!
*问:如何一点电子邮件地址,就自动打开outlook并进入写信状态(在收件人中显示你的email)
答:直接用gotonetpage命令就可以了: gotonetpage \