常用的几个director脚本
director命令集合
1.常用精灵属性blend语法: the blend of sprite whichSprite用途:此属性决定了精灵的混合百分比举例: set the blend of sprite 3 to 40bottom语法: the bottom of sprite whichSprite用途:此属性决定了精灵矩形边框的下部边缘的坐标值,这个属性可以用来测试但是不能直接修改举例: set lowest = put the botiom ofsprite (i + l)castLibNUm语法: the castLibNum of sprite whichSprite用途:此属性决定了精灵所使用的造型成员的Cast表的编号,可以被测试和修改。
如果更改此属性但是不修改castnum属性, Director会使用原来的造型成员编号在新的Cast表中为精灵寻找造型成员举例: set the castLibNum of sprite 3 to the number ofcastlib“Newcast”constrainH语法: constrainH(whichsprite, va1ue)用途:此函数首先计算表达式va1ue的值,然后和精灵的左右矩形边缘坐标进行比较。
如果表达式在精灵左右矩形边缘之间,就返回这个表达式;如果这个表达式小于精灵矩形边缘的左边的坐标值,就返回精灵矩形左边边缘的坐标值;如果表达式大于精灵矩形边缘右边的坐标值,就返回精灵矩形右边边缘的坐标值举例: put constrainH(1, 20)--30put constrainH(1,60)--60put constrainH(1,100)constrainV语法: constrainV(whichsprite, va1ue)用途:和constrainH类似,但是是和精灵矩形边枢的上下边缘进行比较。
举例: set the locV of sprite l to constrainV(3,the mouseV)constraint语法: the constraint of sprite whichSprite用途:此属性可以将一个精灵的移动范围限制在另一个精灵的矩形范围之内。
Director 一般性命令及笔记
on mouseUp me 【鼠标点击+放开】go “***”endon mouseEnter me 【鼠标划入】go “***”endon mouseLeave me 【鼠标划出】go “***”end注意响应区的范围命令选项:鼠标箭头形状变换cursor ***【数字】数字大变换数字为不变换PS:on mouseUp mecursor 280endon mouseUp mecursor -1end注意:按钮必须自己制作,自带的不行导入声音:内部导入,直接导入演员表当中外部导入,语言导入【未讲】连接声音,Director 11 的版本中有,MX2004没有~PS:音频控制导入3个按钮【PLAY PAUSE STOP】第一帧停顿PLA Y的语言On mouseUp meSound(2).queue (member”yin”)Sound(2).play()EndPAUSE的语言On mouseUp meSound(2).pause()EndSTOP的语言On mouseUp meSound(2).stop()End【(2)】为音频的位置【(yin)】为音频的名字。
必须是重命名导入视频:一般是A VI格式,有时也有Quick TimePS:视频控制案例导入3个按钮【PLAY PAUSE STOP】第一帧停顿PLA Y的语言on mouseUp mesprite(1).movieRate =1PAUSE的语言on mouseUp mesprite(1).movieRate = 0STOP的语言on mouseUp mego the frame*因为没有专门的停止语言,所以在同一个通道中于视频后加一个空白的视频界面,直接跳转。
方法2:导入→行为库→动画→第二项→去除背景右边栏nk 第三个在FLASH无法出现效果时导出设置版本FLASH7以下可以被DIR MX 2004 使用【PS:有时候得在FLASH中点击(允许调试)】当FLASH与DIR的播放帧数不一致时,跳转下一界面/FLASH的方法:一】:on exitFrameif sprite(1).frame<sprite(1).member.frameCount thengo the frameend ifend精灵的帧数小于演员【Flash】的帧数,则停止于这一帧并且播放其余的部分二】:在Flash中最后一帧或者按钮上帧语言:getURL(“lingo:go to frame **”)按钮语言:on(rel**)getURL(“lingo:go to frame **”)转场效果:在Score面板中的▶◀【转场】中。
Director笔记
1.更改舞台大小(点击舞台,右侧属性面
板里修改)
2.在演员表里导入演员(有多个二级界面
可以新建几个演员表)
3.做主界面(可以自由发挥,一般主界面
背景选择淡入即可)主页面最后帧处加停
止命令(go the frame)此命令也可以在右
下角库中直接找到
4.做二级界面(主界面二级界面都可加入
过场动画,在需要加过场动画的精灵首帧
上添加,也可以使用右下角库中的动画)5.可以在二级界面首帧处加标记
6.给主页各选项加命令
On mouseup me
go “1”
如果需要变手型,可以加入on mouseenter
me
c ursor 280
on mouseleave me
cursor 0
end
7.给二级界面加命令(视自己情况)
8.给首页按钮,关闭按钮加命令
9.做完后预览一下,并且及时保存,之后选择文件中的发布设置,第二个选项里有全屏选项,选上。
之后确定即可。
再在舞台外延(白色区域点击鼠标左键,选择显示模板,把最大化最小化等勾去掉即可全屏)
10.最后点击发布,即可观看自己的作品了。
祝大家尽快做出满意作品O(∩_∩)O~加油。
C语言的简答题及director经常用的语言
C语言的简答题及director经常用的语言C语言是一种通用的编程语言,被广泛应用于软件开发和系统编程。
在学习和实践C语言的过程中,我们经常会遇到一些简答题,以及与这门语言相关的软件开发工具。
本文将介绍C语言简答题的常见问题,并探讨Director经常使用的编程语言。
一、C语言的简答题常见问题1. C语言中的指针是什么?C语言中的指针是一种数据类型,用于存储变量的内存地址。
通过指针可以直接访问内存中的数据,以及实现动态内存分配和释放。
指针在C语言中起到了重要的作用,是C语言的特点之一。
2. 什么是C语言中的数组?数组是一种存储相同类型数据的集合。
在C语言中,数组是连续的存储单元,可以通过下标访问数组中的元素。
数组在C语言中使用广泛,常用于存储一组数据或者字符串。
3. C语言中的结构体是什么?结构体是一种自定义的数据类型,用于存储不同类型的数据。
通过结构体可以将不同的数据组合在一起,形成一个逻辑上的整体。
结构体的成员可以是基本数据类型、数组、指针等。
4. C语言中的函数有哪些特点?C语言中的函数可以理解为一个独立的代码块,用于完成特定的功能。
函数可以接收参数,执行一系列的操作,然后返回一个值。
函数在C语言中具有模块化、重用和可维护的特点。
5. C语言中的递归函数是什么?递归函数是一种在函数体内调用函数本身的方式。
通过递归函数可以解决一些重复性的问题,通过递归的方式简化代码逻辑。
但需要注意递归函数的结束条件,避免出现无限递归的情况。
二、Director经常使用的语言Director是一款常用的多媒体软件开发工具,它主要用于创作交互式的多媒体应用程序。
在Director的开发过程中,我们经常使用以下编程语言:1. Lingo语言Lingo语言是Director自带的编程语言,它被称为“动态交互对象语言”。
Lingo语言结合了脚本语言和面向对象的特性,具有灵活性和易学性。
在Director中,可以使用Lingo语言创建交互式页面、动画效果等。
director常用脚本语言归纳
基本格式 If 表 达 式 then 动 作„„ If 表达式 then
说明 单个动作时可用,且动作必须与 then 写 在一排上 多个动作时可用,动作必须另起一行书写
精灵(sprite)相关:
Sprite(i).rect
获取或改变精灵的矩 形范围(左上右下 4 边)
Sprite(i).left/top/right/bottom
Sprite(i).loc
Sprite(i).locH/loc V
Sprite(i).ink Sprite(i).blend Sprite(i).skew Sprite(i).rotation Sprite(i).flipH/flipV
Append(元素) Add(元素) AddAt(序号,元素) AddProp(#属性名 :值)
Delet e At(序号) Delet eOne(元素值)
创建线性 列表
线性列表个元素用逗号隔开,各元素的数 myList=[1,10,15] 据类型可以是混合类型的。另外也可用
创建属性 列表
读取 (序号)元素值 设置序号元素值 读取列表元素个数 取得列表元素的最大 值 取得列表元素的最小 值
实例
exitFrame
精灵事件:
beginSprit e
endSprite
鼠标事件:
MouseEnter mouseDown mouseUp mouseWithin mouseLeave mouseUpOutside rightMouseDown rightMouseUp
键盘事件:
director常用命令
director常用命令集标签:电影播放 nbsp 图片画面分类: director(lingo) 2006-10-28 08:50光标效果on mouseUp mecursor 280go toendOn mousewithincursor 280endOn mouseleavecursor 0end打印 printStage(精灵脚本)分别是1.7 和1.6版本的注册代码(电影脚本)on startmovieregister xtra"printomatic","PMAT170-923-38748"end startmovieon startmovieregister xtra"printomatic","pmat156-239-45411"end startmovie打开文档 (精灵脚本) baOpenFile(the moviepath&"aa.doc","minimize")on startmoviebaRegister("DiABLO [ORiON]",3157792 ) end startmovie电影脚本通道隐藏显现效果on mouseUp mecursor 280go to 11endOn mousewithincursor 280Sprite(14).visible=trueendOn mouseleavecursor 0Sprite(14).visible=falseend附:on beginsprite mesprite(me.spritenum).visible=falseend beginsprite在 director 的 exe , 如何解除 esc 功能鍵on startmovie meset the exitLock to TRUEend关于电影窗口最小化: appMinimize打开文件1.当打开应用程序的时候,格式类如:Open+空格+程序路径*当目标程序和director项目文件在同级目录下的时候,我们可直接简写项目文件的名称2.当打开一个非可执行文件的时候,就必须指明运行这个非可执行文件的应用程序。
director 应用技巧
用到搜索算法的朋友们应该高兴吧。
9、director中事件发生的顺序
prepareMovie
beginsprite for frame 1
stepFrame for frame 1
prepareframe for frame 1
startMovie
enterFrame for frmae 1
下面的一段程序就能实现暂停/继续播放声音的功能。全部变量必需声明为 global 或 property 类型,并且要初始myResume=1。因为它们是用来记忆当前单击时声音的各种状态,
myResume=1
on mouseUp me
if myResume and soundBusy(mySoundChannel) then -- 等于 1 时是暂停,等于 0 时是播放
A:无论此时计算机是否有打开的程序或窗口,使用下面的lingo语句可直接关机:(仅限于projector)
open ‘‘c:\windows\rundll.exe user.exe,exitwindows‘‘
若要重新启动计算机,改为 ‘‘c:\windows\rundll.exe user.exe ,exitwindowsexec‘‘
以前写的一篇文章,你看看,也许对你有用。
在用Director开发多媒体软件时使用声音是件很平常和容易的事。这都得益于director中众多的声音通道(有8个之多)。在 score 中有两个通道是专门用于播放声音的(如图),也是最常用到的,只要把声音演员拖放到上面,再调整一下它的长短和位置就行了,但是这种方法缺乏灵活性。解决的方法就是用lingo,lingo播放声音的命令有:
sprite(me.spriteNum).cursor=280 --手形光标
director动作大全
键盘控制on keyDowncase (the keyCode) of 123: go previous126: go previous125: go next124: go the frame+1 49: go the frame+1 end caseendon exitFrame mego the frameendon mouseUpgo to the frame+1 endon rightMouseUpgo previousend交互链接on exitFrame mego to movie "2.dir" end控制声音on exitFrame meif sound(1).isbusy() then go to the frameelse-- go to nestcontinue-- go to the frameend ifend播放停止on exitFramego the frameend鼠标控制on exitFrame mego to the frameendon mouseUpgo to the frame+1endon rightMouseUpgo previousend循环播放on exitframe mea=the frameif(a=964)thengo to frame 934end ifend链接on mouseDown mego to frame 965end动态链接on mouseUp mego to 1136endon mouseEnter mecursor 280set the ink of sprite the currentSpriteNum to 4 endon mouseLeave mecursor -1set the ink of sprite the currentSpriteNum to 0 end向下翻页on mouseEnter mecursor 280set the member of sprite the currentSpriteNum to "down1"endon mouseWithin meset the member of sprite the currentSpriteNum to "down1" cursor 280endon mouseLeave mecursor 0set the member of sprite the currentSpriteNum to "down0"endon mouseUp mecursor 0go to nextend向上翻页on mouseEnter mecursor 280set the member of sprite the currentSpriteNum to "up1"endon mouseWithin meset the member of sprite the currentSpriteNum to "up1"cursor 280endon mouseLeave mecursor 0set the member of sprite the currentSpriteNum to "up0" endon mouseUp mecursor 0go to previousend退出演示on mouseEnter mecursor 280set the member of sprite the currentSpriteNum to "xxkexit1" endon mouseWithin meset the member of sprite the currentSpriteNum to "xxkexit1" cursor 280endon mouseLeave mecursor 0set the member of sprite the currentSpriteNum to "xxkexit0"endon mouseUp mecursor 0haltend滚动字幕on enterframe merepeat with i=0 to 330(页面高度)sprite(1).locv=400-i(相对文字位置)waitwaitset i=i+1updatestageend repeatendon waitrepeat with j=0 to 100000(滚动速度) set j=j+1end repeatend图片切入on enterframe merepeat with i=0 to 1050sprite(1).loch=600-iif i>260 thensprite(2).loch=900-iend ifwaitwaitset i=i+1updatestageend repeatendon waitrepeat with j=0 to 100000set j=j+1end repeatend常用命令playplay the frame 再次播放当前帧起重复作用play the frame(+ -)play marker("myframe") 将播放头置于标记为"myframe"的帧上,并播放on enterframeif not sprite(5).playing thensprite(5).play()end ifendexiton setcolorsif the colordepth=1 then exitsprite(1).forecolor=35endcurrentink=sprite(3).ink 将精灵3的墨水效果属性值赋值给变量currentink set the ink of sprite(3)to 9 将精灵3的效果设为9on mouseentersprite(1).ink=36endon morseleavespite(1).ink=0endmember(1).forecolor=16711680 将角色1的前景色设为红色oldcolor=sprite(1).forecolor 将精灵1的前景色值赋值给变量oldcolormember("mydescription").line[2].word[3].forecolor=27将角色"mydescription"中的第二行第三个字的前景色设为27set the blend of sprite 1 to 50使精灵1 的混合度为50sprite(1).member=mamber 3 将精灵1所使用的演员替换演员3set a=the text of field sprite 1 将精灵1的文内容赋值给变量aon keydownif (the key="q")then 如果按下键盘上的Q键时beep 3 响三声else if (the key="p")thenbeep 2else if (the key="b")thenbeepend ifendon keydowncase (the key)of"a":beep a键1声响"b":beep2"c":beep3otherwise beep4 其它键4声响end caseendgo to frame n 编号go to frame"n" 标记go to frame 重复当前go to the frame+n 向前跳Ngo to the frame-n 向后跳Ngo next 下一个标记go previous 上一个标记go loop 回当前带有标记的go marker(n) 向前跳到第N个有标记的go marker(-n) 向跳到第N个有标记的电影脚本global thenameglobal nnglobal weizhiglobal ww--定义4个全局变量on findwordthename=member(5).text--将演员5中的文本内容保存到变量thename weizhi=member(6).text--将演员6中的文本内容保存到变量weizhi end--自定义程序块on findword第1帧脚本on exitframe mego to the frameend定义精灵7脚本(精灵7为确定按钮)on mouseup mefindword--执行程序块 findwordglobal thenameglobal weizhiglobal wwglobal nnifthename=""thenalert"请输入队员姓名"exitend if--如果精灵5中的文本为空,则弹出一个窗口,窗口中提示“请输入队员姓名”。
Director第九课脚本和脚本动画(一)
句柄:就是一段处理某一功能的程序,将很多有规律性 的手动操作在后台实现,实现了代码的重复使用,提高 了编程效率。 on 事件名称 执行命令 end
三、事件
1、Director实现人机交互的过程是用户通过诸如单击鼠标 等操作,程序在接收到了这个消息后响应相应的动作, 这种消息就称为事件。 2、Lingo中主要包括一些与电影、帧和精灵相关的内部事 件以及响应用户的鼠标、键盘事件。 3、帧事件: Prepareframe:在舞台上显示某一帧内容之前触发的事 件。On Prepareframe句柄通常被用来播放电影中某一帧 内容之前改变帧内舞台上精灵的属性,例如: on Prepareframe me sprite(1).loc=point(120,120) end
函数:函数可以返回数值。例如:date函数的返回值为 当前计算机系统中日期。 关键词:关键词是具有特殊含义的词。例如,许多精灵 的属性以及函数都需要在其属性名称的前面使用关键词 the,该关键词是与变量名称或对象名称中的属性名相区 别的。 属性:属性是与对象相对应的。例如:the colorDepth 是计算机显示器的属性。属性也可以句点法的形式来表 示,就像Sprite(4).visible一样。
第九课 脚本和脚本动画( 脚本和脚本动画(一)
主要内容 脚本的基本功能、类型以及元素 脚本的基本功能、 设置“脚本” 设置“脚本”窗口 创建各种类型的脚本
一、脚本简介
1、脚本是使用Lingo编写的一系列命令,可以描述 为一个简单的动作或一系列复杂的动作。 2、脚本的基本功能: 可以制作交互的多媒体作品 可以对声音进行控制 可以对数字视频进行控制 可以对文本进行控制 可以对演员进行控制 可以对电影中画面的切换进行控制。
4、除演员脚本以外,所有的脚本都在演员表中占据一个 演员位置。多个精灵和帧可以使用相同的剧本脚本。 不同演员可以共享同一个演员脚本。演员脚本存在于 演员中,只有在选中演员并单击“演员表”按钮的时 候才能够访问。 5、脚本元素的分类与查看: Lingo处理程序中的命令是由一系列类似英文单词的元 素组成的。根据这些元素功能的不同,可以将它们分 成不同的种类。 命令:可以告知电影所要处理的事情。例如:go to 可以使播放头移动到指定的帧。
director常用程序
在本例中这里代码为.
On Mouseup
member("quick").loop = 1
end
让按“第一部分”跳到整个WMV视频的10分钟24秒,
关键语句:
sprite("video").currentTime = 624000
以下是我们写的Flash控制程序,也比较好用。不用演员名,用通道号就可以了。
sprite(1).eventpassmode = #passnotbutton
参数说明
#passalways (缺省)—一随时传递消息
#passbutton—当flash中的一个按钮按下后才传递消息
#passnotbutton—当flash中的一个非按钮的任何物件按下时传递消息
这也比较容易理解, 结合 mouseup 事件你就可以一帧一帧的步进或步退。
3. 倒退回第一帧(rewinding)
sprite(whichflashsprite).rewind()
4. 停止(stopping)
sprite(whichflashsprite).stop()
end
forword:
on mouseUp me
if the movieTime of sprite 7+240>the duration of cast 5 then
set the movieTime of sprite 7 to 0
else
set the movieTime of sprite 7 to the movieTime of sprite 7+240
flash 跟director沟通主要通过下面两个办法
director脚本
startmovie 影片开始时触发
stopmovie 停止影片是触发
、
左键前进右键后退
on exitFrame me
go to the frame
end
on mouseup me
go the frame+1
end
on rightmouseup me
on getBehaviorDescription
return "用于实现文本上翻效果:"&return&" 其用法是,将此行为拖到精灵上面,然后选择一个域文本精灵,\
"&return&" 功能:文本循环自动滚动,鼠标移动到精灵上面是停止滚动,移开后自动\
滚动。可以设定每个帧循环移动的象素!"&return&"未来风 "
x=x+1
put x
数字变化+1
global x
on mouseup me
set x=integer(the text of field"文本名称")
ifx<9 then
x=x+1
set the text of field "文本名称"to string(x)
end if
end
拖动跟随
property ptuodong
on beginSprite me
ptuodong = FALSE
end
on mouseDown me
ptuodong = TRUE
director——交互控制部分完美版资料
事件名称
mouseDown mouseUp mouseEnter mouseLeave mouseWithin exitFrame startMovie stopMovie KeyDown keyUp
常见事件简介
功能说明
鼠标左键单击事件; 释放鼠标键事件; 光标进入某个角色的区域; 光标离开某个角色区域; 鼠标停留在某个角色上; 准备播放下一帧时; 开始播放影片时; 停止播放影片时; 按下某个按键时; 释放某个按键时。
件图标样式修改为用户自定义的图案图标。 Animate in background:当创建了放映机,并启动了该放映机程
序后,如果用户又执行了其他的操作,此时该程序窗口将处于非 激活状态,选中该功能复选框后,电影也能正常播放,否则画面 将停止,直到该程序窗口再次被激活才能继续播放。
返回
返回
导航命令简介—go命令
go命令可以使时间指针移动到指定电影中指定的帧上。 常用用法
go to frame n
使时间指针跳转到当前电影的第n帧。
go to frame 10 go frame 10 go 10
go to thgo to the frame+1
将时间指针放置到当前影片的下一帧中。
go movie “C.dir”
将时间指针跳转到另一个电影上并播放该电影。
返回
声音控制
sound(whichchannel).pause() 使指定通道中的声音处于暂停状态。
sound(whichchannel).play() 使指定通道中的声音处于播放状态。
控制视频
返回
发布文件
发布设置
Player type :选择播放电影的放映机类型。 Save splash image using frame:该复选框主要用于设置当放映
Director中英文菜单对照表
1、File(文件)菜单New(新建电影和演员表)Open(打开电影或演员表)Close(关闭电影)Save(保存电影或演员表)Save as(另存电影)Save and compact(保存并压缩电影)Save all(保存所有电影)Save external cast(保存外部演员表)Revert(恢复到最后一次)Import(导入对象)Export(导出为BPM、A VI等)Publish settings(生成可执行文件)Publish(生成shockwave电影)Preview in browser(在浏览器浏览电影)Page setup(打印页面设置)Print(显示打印对话框)Send mail(通过电子邮件传输当前影片)Recent movies(最近打开过的电影)Recent casts(最近使用的演员表)Exit(退出)2、Edit(编辑)菜单Undo cast 撤销上次的操作Repeat 重复操作Cut sprites 剪切存在的精灵Copy sprites 复制存在的精灵Paste 粘贴Paste special选择性粘贴Clear sprites清除所选的精灵Duplicate 复制所选的演员Select all 选择演员表中的所有演员Invert selection 反选Find 查找对象Find again 重新查找对象Replace again 重新替换对象Edit sprite frames 编辑精灵的每一帧Edit entire sprite 编辑精灵Exchange cast members 交换演员表中的演员Edit cast member 编辑演员表中的演员Launch external editor 打开外部编辑器preferences 基本参数设置3、View(视图)菜单Marker 显示标记Display 显示名称等内容Zoom 放大缩小Cast 演员表Guides and Grid 标志和网格Rulers 标尺Sprite Overlay 精灵覆盖Control Toolbar 控制工具条Keyframes 显示或隐藏关键帧Sprite Labels 精灵显示方式Onion Skin 洋葱皮Full Screen 满屏显示Standard View 标准视图4、Insert(插入)菜单Keyframe 插入关键帧Remove Frame 删除关键帧Frames 插入帧Remove Frame 删除帧Marker 创建一个标记Media Element 插入媒体元素Control 插入控件Fireworks 打开Fireworks文件OLE Object 插入OLE对象Film Loop 插入循环电影5、Modify(修改)菜单Cast Properties 演员表属性Cast Member演员表演员Sprite 精灵Frame 帧Movie 电影Font 字体Paragraph 段落Lock Sprite 锁定精灵Unlock Sprite 解锁精灵Join Sprites 连接精灵Split Sprite 分割精灵Extend Sprite 延伸精灵Arrange 排列Transform 变换Tweak 平移精灵Reverse Sequence 反转精灵Sort 分类排序Cast to Time 按时间排序Space to Time 空间到时间排列Transform Bitmap 转变图片格式Convert to Bitmap 转换位图格式6、Control(控制)菜单Play 播放Stop 停止Rewind 回放Step Forward 前进一帧Step Backward 倒放一帧Real-Time Recording 实时记录Step Recording 录制所有帧Loop Playback 循环播放Selected Frames Only 显示或隐藏当前帧V olume 音量Disable Scripts 脚本通道Toggle Breakpoint 设置断点Watch Expression 联接表达式Remove All Breakpoints 删除所有断点Ignore Breakpoints 忽略所有断点Step Script 逐步执行脚本Step Into Script 脚本中加入步骤Run Script 运行脚本Recompile All Scripts 重新编译所有脚本7、Xtras(特效)菜单Update Movies 更新电影版本Filter Bitmap 过滤位图Auto Filter 自动过滤Auto Distort 自动扭曲Convert WAV to SW A 把W A V声音文件转换为SW A文件8、Window(窗口)菜单New Score Window 打开新窗口Toolbar 工具栏Tool Palette 工具选项栏Property Inspector 属性面板Script 脚本Stage 舞台Control Panel 控制面板Cast 演员表Score 剧本Message 消息Paint 绘图Vector Shape 矢量编辑Text 文本Field 文本域QuickTime QuickTime 窗口Shockwave 3D Shockwave 3D窗口DVD DVD窗口RealMedia RealMedia窗口Windows Media Windows Media窗口A VI Video A VI Video窗口Object Inspector 观察窗口Library Palette 库面板Behavior Inspector 行为检查器Text Inspector 文本检查器Memory Inspector 内存检查器Align 对齐Color Palette 调色板Markers 标记Start Page 初始页面Panel Sets 面板设置Hide Panels 隐藏或显示面板9、Help(帮助)菜单Director Help 软件帮助Director Support Center Director支持中心About Director 关于Registration 注册Activate 激活Deactivate 取消激活Updates 软件升级。
director脚本和脚本动画解析
第14页
Director 11多媒体开发实用教程
清华大学出版社
五、 变量
1、变量的类型
Director中的变量类型可以分为多种,包括整型变量、浮点数 变量、字符串变量等 。 (1)数字变量:它是使用脚本进行编程时使用最多的一种变 量,包括整型变量和浮点型变量两种类型。 (2)符号变量:它是Director中一类特殊的变量,它是由符号 【#】来引导的,即通过符号【#】来定义的。 (3)字符串变量:Director中的字符串变量是用来存储字符串 的变量。 (4)逻辑常量:Director中经常用到的逻辑变量是TRUE和 FALSE,即真和假,它们以常量的形式出现,对应的计算机数值是1 和0。 (5)键盘常量:除了逻辑常量之外,Lingo中还经常用到的一 些常量就是键盘常量,键盘常量主要是用来创建热键。 第15页
Director 11多媒体开发实用教程
清华大学出版社
第7章 脚本和脚本动画
重点内容:
• 脚本简介
• 创建与设置脚本窗口
• 创建各种类型的脚本 • 事件和处理程序 • 常用Lingo命令 • 变量 • 列表和数组
第1页
Director 11多媒体开发实用教程
清华大学出版社
一、 脚本简介
1、脚本的基本功能
第13页
Director 11多媒体开发实用教程
清华大学出版社
五、 变量
在大多数情况下,Lingo和JavaScript主要用来实现播放电 影时播放头在剧本窗口中的来回移动,也就是使用Lingo和 JavaScript来实现电影的导航操作。通常,常用的Lingo或 JavaScript导航命令可以分为两类,一类是go,一类是play。 在Director中,变量可以比作容器,它可以装载不同的数 值,例如名称或数字。在Lingo中,用户既可以使用set或put into命令来给变量分配数值,也可以使用操作符【=】来给变量 分配数值;在JavaScript中,用户只能使用操作符【=】来给变 量赋值。
director中常用代码
一、全屏播放Director本身并不能支持自动适应屏幕分辨率的全屏播放,它也没有提供可以更改屏幕分辨率的函数。
但许多时候,我们要求能全屏播放。
解决办法是,使用第三方xtra:DMChangeRes.x32。
DMChangeRes.x32中提供一个有用的函数:ChangeRes([width, height]),它用于设置屏幕分辨率。
我们需要程序运行时改变分辨率,在程序退出时恢复分辨率。
因此,新建Movie Script,在其中写如下代码:--全局oldScreenSize保存原始分辨率,用以程序退出时恢复global oldScreenSizeon prepareMovieif _system.deskTopRectList[1][3]<800 thenalert "对不起,您的电脑显示屏当前分辨率太低,请调整为800*600后重新运行本程序!"go to marker("end")elseset oldScreenSize=ChangeRes([800,600])end ifendon stopMovieif oldScreenSize<>void thenChangeRes(oldScreenSize)end ifend另外,由于Demo中调用了试玩游戏,试玩游戏在退出时奇怪地把分辨率恢复了,致使Demo显示于左上角,无法继续布满整个屏幕。
解决办法是响应Windows ActivateWindow消息,当Demo被调到前台时,它将重新检测分辨率,在需要时重设:on activateWindowif _system.deskTopRectList[1][3]>800 thenChangeRes([800,600])end ifend把以下命令放在第一帧的帧脚本处,可实现强制全屏:on exitFrame mego the frame(the stage).rect = (the desktopRectList)[1](the stage).drawRect = (the desktopRectList)[1]endNO2:或者添加这段代码也行,可以达到同样的效果on startMovieglobal oldResset oldRes = changeRes([800,600])put the colorDepth into field "color"put the desktopRectList[1].width into field "width"put the desktopRectList[1].height into field "height"endon stopMovieglobal oldReschangeRes(oldRes)end解释一下:startmovie 表示影片开始时的动作,stopmovie 表示影片结束的动作,changeRes([800,600])就是改分辨率了,changeRes(oldRes)就表示退出影片时恢复原来的分辨率了。
director中的快捷大全和director行为库快速参考
File菜单快捷键NewMovie(新影片) Ctrl+NNewCast(新演员表) Ctrl+Alt+NOpen(打开) Ctrl+OClose(关闭) Ctrl+F4Save(保存) Ctrl+SImport(输入) Ctrl+RExport(输出) Ctrl+Shift+R PreviewinBrowser (在浏览器中预览)F12 PageSetup(页面设置) Ctrl+Shift+PPrint(打印) Ctrl+P GeneralPreferences(基本参数设置) Ctrl+U Exit/Quit(退出) Alt+F4Edit菜单快捷键命令快捷键Undo(撤消)Ctrl+ZRepeat(重复)Ctrl+YCut(剪切)Ctrl+XCopy(拷贝)Ctrl+CPaste(粘贴)Ctrl+VClear(清除)BackspaceDuplicate(复制)Ctrl+DSelectAll(全选)Ctrl+AFindText(查找文本)Ctrl+FFindHandler(查找处理程序)Ctrl+Shift+; FindCastMember(查找演员)Ctrl+; FindSelection(查找选区)Ctrl+HFindAgain(再查找)Ctrl+Alt+FReplaceAgain(再替换)Ctrl+Alt+EEditSpriteFrames(编辑角色的帧)Ctrl+Alt+]EditEntireSprite(编辑整个角色)Ctrl+Alt+[ ExchangeCastMembers(交换演员)Ctrl+ELaunchExternalEditor(运行外部编辑器)Ctrl+,(逗号)View菜单快捷键命令快捷键NextMarker(下一个标志)Ctrl+右箭头键PreviousMarker(前一个标志)Ctrl+左箭头键ZoomIn(变焦放大)Ctrl++ZoomOut(变焦缩小)Ctrl+-(连字符)ShowGrid(显示网格)Ctrl+Shift+Alt+GSnaptoGrid(吸附于网格)Ctrl+Alt+GShowRulers(显示标尺)Ctrl+Shift+Alt+RShowInfo(显示信息)Ctrl+Shift+Alt+OShowPaths(显示路径)Ctrl+Shift+Alt+HShowToolbars(Score、Paint、Cast、Text,VectorShapewindows)Ctrl+Shift+H(显示工具条(剪辑室、Paint、演员表、文本、矢量图形窗口)) Keyframes(关键帧)Ctrl+Shift+Alt+KInsert菜单快捷键命令快捷键InsertKeyframe(插入关键帧)Ctrl+Alt+KInsertFrame(插入帧)Ctrl+]RemoveFrame(删除帧)Ctrl+[InsertFramesdialogbox(InsertFrames对话框)Ctrl+Shift+]Modify菜单快捷键命令快捷键CastMemberProperties(演员属性)Ctrl+I XtraCastMemberOptionsProperties(Xtra演员选项属性)Ctrl+Shift+O CastMemberScript(演员剧本)Ctrl+’(单引号)SpriteProperties(角色属性)Ctrl+Shift+ISpriteScript(角色剧本)Ctrl+S hift+’(单引号)MovieProperties(影片属性)Ctrl+Shift+DMovieCasts(影片演员表)Ctrl+Shift+CFont(字体)Ctrl+Shift+TTextstylebold(文本式样:粗体)Ctrl+Alt+BTextstyleitalic(文本式样:斜体)Ctrl+Alt+ITextstyleunderline(文本式样:下划线)Ctrl+Alt+UParagraph(段落)Ctrl+Shift+Alt+TTweening(推算)Ctrl+Shift+BJoinsprite(连结角色)Ctrl+JSplitsprite(拆分角色)Ctrl+Shift+JExtendsprite(扩展角色)Ctrl+BBringtoFront(移至最前面)Ctrl+Shift+上箭头键MoveForward(向前移一层)Ctrl+上箭头键MoveBackward(向后移一层)Ctrl+Alt+下箭头键SendtoBack(移至最后面)Ctrl+Alt+Shift+下箭头键Align(对齐)Ctrl+KTweak(蠕动)Ctrl+Shift+KControl菜单快捷键命令快捷键Play(播放)Ctrl+Alt+PStop(停止)Ctrl+.(句号点)Rewind(回转)Ctrl+Alt+RStepBackward(单步后退)Ctrl+Alt+左箭头键StepForward(单步前进)Ctrl+Alt+右箭头键LoopPlayback(循环播放)Ctrl+Alt+LV olume:Mute(音量:静音)Ctrl+Alt+M ToggleBreakpoint(切换断点)F9 WatchExpression(观察表达式)Shift+F9 IgnoreBreakpoints(忽略断点)Alt+F9 StepScript(单步执行程序)F10StepIntoScript(单步执行程序,进入处理程序)F8 RunScript(运行程序)F5RecompileAllScripts(重新编译全部程序)Shift+F8 Window菜单快捷键命令快捷键Toolbar(工具条)Ctrl+Shift+Alt+BToolPalette(工具面板)Ctrl+7 BehaviorInspector(行为监察窗)Ctrl+Alt+; SpriteInspector(角色监察窗)Ctrl+Alt+S TextInspector(文本监察窗)Ctrl+TStage(舞台)Ctrl+1ControlPanel(控制面板)Ctrl+2Markers(标志)Ctrl+Shift+MScore(剪辑室)Ctrl+4Cast(演员表)Ctrl+3Paint(Paint窗口)Ctrl+5VectorShape(矢量图形)Ctrl+Shift+VText(文本)Ctrl+6Field(域)Ctrl+8ColorPalettes(调色板)Ctrl+Alt+7Video(视频文件)Ctrl+9Script(剧本)Ctrl+0Message(消息)Ctrl+MDebugger(调试窗)Ctrl+’(单引号)Watcher(观察窗)Ctrl+Shift+’(单引号)舞台快捷键动作快捷键Opencastmembereditor(打开演员编辑器)双击角色Inkspop-up(油墨弹出菜单)Ctrl+点击鼠标Togglerecordlightonandoff(录制指示灯开关)Alt+点击鼠标Real-timerecord(实时录制)Ctrl+空格键+在舞台上拖动角色Displayshortcutmenuforselection(显示选区的快捷菜单)点击鼠标右键Changecontentsofstagetoblack(把舞台上的内容变为黑色)数字键盘的-(减号)Inverteverythingonstage(反转舞台上的全部内容)数字键盘的/Show/hidecursor(显示/隐藏光标)数字键盘的=剪辑室窗口快捷键动作快捷键Duplicateselectedspritesorkeyframes(复制选定的角色或帧)Alt+拖动Opencasteditorforselectedsprite(为选定的角色打开演员表编辑器)双击演员表缩微图标Selectentirerangeofacastmember(选择一个演员的全部演出范围)双击带有角色的一个单元格Selectchannel(选择通道)双击通道编号Selectmultiplechannels(选择多个通道)双击通道编号和上下拖动Togglerecordlight(切换录制指示灯)Alt+点击通道编号Moveplaybackheadtoendofmovie(把播放头移到影片的结尾)Tab Moveplaybackheadtoframe1(把播放头移到第1帧)Shift+Tab Moveplaybackheadtobeg/end(把播放头移到开始/结尾)Ctrl+Shift+左/右箭头键Openframesettingsdialogbox(打开帧设置对话框)双击节奏、调色板或过渡通道Gotonextmarkercomment(orjump10frames)Ctrl+右箭头键(前进到下一个标志注释(或跳10帧))Previousmarkercomment(orback10frames)Ctrl+左箭头键(前一个标志注释(或向回跳10帧))Shufflebackward/forward(自由前进/后退)Ctrl+上箭头键/下箭头键演员表窗口和演员表编辑器窗口快捷键动作快捷键Opencastmembereditor(打开演员编辑器)双击绘图、文本、调色板或剧本演员,或先选择一个演员,再按Return键Castmemberscript(演员剧本)Ctrl+’(单引号) Openscriptinnewwindow(在新的窗口打开剧本)Alt+Script按钮PlaceselectedcastmemberincenteroftheStageCtrl+Shift+L(把选定的演员放在舞台的中心) FindselectedcastmemberintheScoreCtrl+H(在剪辑室中查找选定的演员)CasttoTime(演员表至时间)Ctrl+Shift+Alt+LNewcastmember*(新演员)Ctrl+Shift+APreviouscastmember*(前一个演员)Ctrl+左箭头键Nextcastmember*(下一个演员)Ctrl+右箭头键*samefunction,inanewwindow(新窗口里的相同功能)Ctrl+Alt+左/右箭头键Scrollup/downonewindow(向上/下滚动一个窗口)Pageup,Pagedown Scrolltotopleftofcastwindow(滚动至演员表窗口的左上角)Home ScrolltoshowlastoccupiedcastmemberEnd(滚动至显示最后一个已被使用的演员)Type-selectbycastmember(按类型选择演员)输入一个数字Paint窗口快捷键动作快捷键Undo(撤消)~(波浪号)Next/previouscastmember(下一个/前一个演员)数字键盘的左/右箭头键TurnselectedtoolintoforegroundeyedropperD(当鼠标被按下时)(把选定的工具变成前景色吸管) TurnselectedtoolintobackgroundeyedropperShift+D(把选定的工具变成背景色吸管) TurnselectedtoolintodestinationeyedropperAlt+D(把选定的工具变成目标色吸管)Turnselectedtoolintohandtool空格键(当鼠标被按下时)(把选定的工具变成徒手工具) Nudgeselectionrectangleorlassoselection当选定矩形或套索工具时,按数字键盘的箭头键(蠕动选区矩形或套索选区)Changeairbrushsize(改变喷枪的尺寸)当选定喷枪工具时,按数字键盘的上/下箭头键Changeairbrushflow(whilepainting)当选定喷枪工具时,按数字键盘的左/右箭头键((在绘画时)改变喷枪的颜料流速)Changeforegroundcolor(notpainting)数字键盘的上/下箭头键,适用于全部工具((在没有绘画时)改变前景色)Changebackgroundcolor(notpainting)Shift+数字键盘的上/下箭头键,适用于全部工具((在没有绘画时)改变背景色)Changedestinationcolor(notpainting)Alt+数字键盘的上/下箭头键,适用于所有工具((在没有绘画时)改变目标色) DrawborderwithcurrentpatternAlt+图形或直线工具(用当前的图案画边框)Selectbackgroundcolor(选择背景色)Shift+吸管工具Selectdestinationcolor(选择目标色)Alt+吸管工具TogglebetweencustomandgrayscalepatternsAlt+点击图案(在自定义图案和灰阶图案间切换)Polygonlasso(多边形套索)Alt+套索工具Duplicateselection(复制选区)Alt+拖动Stretch(拉伸)Ctrl+拖动Drawwithbackgroundcolor(用背景色绘画)Alt+铅笔工具OpenGradientSettingsdialogbox,andset双击画刷、颜料杯或多边形工具inktogradient(打开GradientSettings对话框,并把油墨设置为渐变) OpenAirBrushSettingsdialogbox双击喷枪工具(打开AirBrushSettings对话框)Clearvisiblepartofwindow双击橡皮擦工具(清除窗口的可见区域)Opencolorpaletteswindow双击前景色、背景色或目标色色块(打开调色板窗口)OpenPatternSettingsdialogbox双击图案色块(打开PatternSettings对话框)OpenBrushSettingsdialogbox双击画刷(打开BrushSettings对话框) OpenPaintWindowPreferences双击线条宽度选择区(打开PaintWindowPreferences) OpenTransformBitmapdialogbox双击颜色分辨率(位深)标记(打开TransformBitmap对话框)ToggleZoomin/ZoomoutCtrl+在窗口里点击鼠标,或双击铅笔工具(切换变焦放大/缩小)矢量图形窗口快捷键动作快捷键Circle(圆形)OFilledCircle(实心圆形)Shift+ORoundedrectangle(圆角矩形)PFilledroundedrectangle(实心圆角矩形)Shift+RPen(钢笔)6Arrow(箭头)0Handtool(徒手工具)HRegistrationtool(套准工具)GScalewitharrowtool(用箭头工具缩放)Ctrl+Alt+拖动MovebezierhandlesindependentlywitharrowtoolCtrl+拖动(用箭头工具独立地移动贝塞尔曲线的控制柄) DragcontrolhandlesfromsquarepointsAlt+拖动(从方形的点里拖动控制柄)Constrainmovementto45°incrementsShift+拖动(handles/points/pen/arrow)(把移动的增量限制为45°(控制柄/点/钢笔/箭头)) AddapointtoanopencurvewiththepentoolAlt+点击鼠标(用钢笔工具向非闭合的曲线上添加一个点) Createsymmetricalshapes(squares、circles)Shift+拖动(创建对称的图形(方形、圆形))用于控制影片播放的数字键盘快捷键动作快捷键Play/Stop(播放/停止)EnterPlay/StopandshowonlytheStage(播放/停止,并仅显示舞台)Shift+Enter Rewind(回转)0Backoneframe(后退一帧)1Forwardoneframe(前进一帧)3Previousmarker(前一个标志)4Centerplaybackhead(让播放头居中)5Nextmarker(下一个标志)6Mutesounds(静音)7Loop(循环)8director行为库快速参考F.1动画—自动ColorCycling(颜色循环):把角色的前景色从一个值改成另一个值,做很多次,或永远做下去。
director代码
看图识字on mouseenter mesprite(me.spritenum).blend=70cursor 280sprite(4).member=member("Ltitle")sprite(me.spritenum).height=133sprite(me.spritenum).width=147endon mouseleave mecursor 0sprite(me.spritenum).blend=100sprite(4).member=member("title")sprite(me.spritenum).height=114sprite(me.spritenum).width=142end气球global pSpeedon exitFrame mesprite(1).loch=sprite(1).loch+pSpeedif (sprite(1).loch<=sprite(1).width/2 or sprite(1).loch>=(the stage.rect[3]-the stage.rect[1])-sprite(1).width/2) thenpSpeed=-pSpeedsprite(1).flipH=not sprite(1).flipHend ifend视频返回property MySpriteNumProperty buttonSpriteNumProperty Kon beginSpriteMySpriteNum=the currentSpriteNumbuttonSpriteNum=3set the movieRate of sprite(2)=0endon exitFrameset K=MySpriteNum-buttonSpriteNum+1endon mouseentercase(K)of1:set the member of sprite(MySpriteNum)=member"play2" 2:set the member of sprite(MySpriteNum)=member"pause2" 3:set the member of sprite(MySpriteNum)=member"as2"end caseendon mouseleavecase(K)of1:set the member of sprite(MySpriteNum)=member"play1" 2:set the member of sprite(MySpriteNum)=member"pause1" 3:set the member of sprite(MySpriteNum)=member"as1"end caseendon mouseupcase(K)of--1:set the movieRate of sprite(2)=1--1:sprite(2).movieRate=11:sprite(2).movieRate=true2:set the movieRate of sprite(2)=03:sprite(2).movieTime=0sprite(2).movieRate=trueend caseend计算机图形学1、矩形绕圆转void CMyView::Onxuequn(){CClientDC *pdc=new CClientDC(this);CPen pen;pen.CreatePen(PS_SOLID,1,RGB(0,255,0));CPen *oldpen=(CPen*)pdc ->SelectObject(&pen);//huabistatic int x1[]={500,530,530,500,500};static int y1[]={200,200,400,400,200};static int x[100][5];static int y[100][5];int i,j;double pai=3.1415926;double st=pai/36;int cs=int(pai/st);for(i=0;i<=3;i++){pdc->MoveTo(x1[i],y1[i]);pdc->LineTo(x1[i+1],y1[i+1]);}for(j=2;j<=2*cs; j++){for(i=0; i<=4; i++){x[j][i]=int((x1[i]-600)*cos((j-1)*st)-(y1[i]-200)*sin((j-1)*st)+0 .5);y[j][i]=int((x1[i]-600)*sin((j-1)*st)+(y1[i]-200)*cos((j-1)*st)+0 .5);}for(i=0;i<=3;i++){pdc->MoveTo(x[j][i]+600,y[j][i]+200);pdc->LineTo(x[j][i+1]+600,y[j][i+1]+200);}}}2、中心直线画法CDC* pDC=GetDC();int xa=300, ya=200, xb=450, yb=300,c=RGB(0,255,0);float a, b, d1, d2, d, x, y;a=ya-yb, b=xb-xa, d=2*a+b;d1=2*a, d2=2* (a+b);x=xa, y=ya;pDC->SetPixel(x, y, c);while (x<xb){ if (d<0) {x++, y++, d+=d2; }else {x++, d+=d1;}pDC->SetPixel(x, y, c);}ReleaseDC(pDC);3、DDA直线画法CDC* pDC=GetDC();//获得设备指针int xa=100, ya=300, xb=300, yb=200,c=RGB(0,0,0);//定义直线的两端点,直线颜色int x,y;float dx, dy, k;dx=(float)(xb-xa), dy=(float)(yb-ya);k=dy/dx, y=ya,x=xa; //直线斜率if(abs(k)>=0){//以xa,ya为端点,从端点步进画线,步长1像素for (x=xa;x<=xb;x++){pDC->SetPixel (x,int(y+k),c);y=(int)(y+k);}}if(abs(k)>=1){for (y=ya;y<=yb;y++){pDC->SetPixel (int(x+0.5),y,c);x=(int)(x+1/k);}}ReleaseDC(pDC);4、贝塞尔生成曲线的算法void CMyView::OnB(){CClientDC *pdc=new CClientDC(this);CPen pen;pen.CreatePen(PS_SOLID,1,RGB(0,255,0));CPen *oldpen=(CPen*)pdc ->SelectObject(&pen);//画笔//定义3个点int ax[]={100,200,100};int by[]={100,200,300};float cx[11];float cy[11];int i;float n=10.0;for(i=0;i<=10;i++){cx[i]=(ax[2]-2*ax[1]+ax[0])*(i/n)*(i/n)+2*(ax[1]-ax[0])*(i/n)+ax[ 0];cy[i]=(by[2]-2*by[1]+by[0])*(i/n)*(i/n)+2*(by[1]-by[0])*(i/n)+by[ 0];}for(i=0;i<=9;i++){pdc->MoveTo(cx[i],cy[i]);pdc->LineTo(cx[i+1],cy[i+1]);}for(i=0;i<=1;i++){pdc->MoveTo(ax[i],by[i]);pdc->LineTo(ax[i+1],by[i+1]);}FILE*fp;fp=fopen("G:\\www.txt","w");for(i=0;i<11;i++){fprintf(fp,"%f,%f\n",cx[i],cy[i]);}}中点画圆void CMyView::On11(){// TODO: Add your command handler code here CDC *pDC=GetDC();int xc=300,yc=300,r=50,c=0;int x,y;float d;x=0;y=r;d=1.25-r;pDC->SetPixel((xc+x),(yc+y),c);pDC->SetPixel((xc-x),(yc+y),c);pDC->SetPixel((xc+x),(yc-y),c);pDC->SetPixel((xc-x),(yc-y),c);pDC->SetPixel((xc+y),(yc+x),c);pDC->SetPixel((xc-y),(yc+x),c);pDC->SetPixel((xc+y),(yc-x),c);pDC->SetPixel((xc-y),(yc-x),c);while(x<=y){if(d<0) d+=2*x+3;else{d+=2*(x-y)+5;y--;}x++;pDC->SetPixel((xc+x),(yc+y),c); pDC->SetPixel((xc-x),(yc+y),c); pDC->SetPixel((xc+x),(yc-y),c); pDC->SetPixel((xc-x),(yc-y),c); pDC->SetPixel((xc+y),(yc+x),c); pDC->SetPixel((xc-y),(yc+x),c); pDC->SetPixel((xc+y),(yc-x),c); pDC->SetPixel((xc-y),(yc-x),c);}}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
else
tell sprite(me.spriteNum) to go to pframe-1
end if
end if
end
16.播放和暂停按钮控制声音
on mouseup me
pSprite=sprite(me.spritenum)
pMemberName=
if pMemberName = "播放按钮" then
sound(1).play()
sprite(me.spritenum).member = member
("暂停按钮")
else
sound(1).pause()
6:sound playfile 1,"音乐/6.mp3"
7:sound playfile 1,"音乐/7.mp3"
8.mp3"
9:sound playfile 1,"音乐/9.mp3"
else
sound(1).play(member("bg")) 在第一声道播放(调用)演员文件"bg"
end if
end
on mouseleave me
cursor 0
sprite(13).member=member("dvd6") 播放到该精灵所在位置时,播放按钮显示为(调用精灵)"dvd6"
end if
if(i=2) then
sound playfile 1,"音乐/2.mp3"
end if
if(i=3) then
sound playfile 1,"音乐/3.mp3"
end if
if(i=4) then
sound playfile 1,"音乐/4.mp3"
end
on mouseup me
ppause=not ppause
if ppause then
tell sprite(me.spriteNum) to pframe=the frame
end if
end
on exitframe me
if ppause then
if pframe=1 then
14.播放外部影片
on exitFrame me
_movie.newMember(#"33.avi")
end
15、对胶片环的控制。点击暂停,再次点击则继续。
property ppause,pframe
on beginsprite me
ppause=false
pframe=1
end
on exitFrame me
if ptuodong then
moveAmount = the mouseLoc - sprite(me.spriteNum).loc
sprite(me.spriteNum).loc = sprite(me.spriteNum).loc + moveAmount
end if
end
on exitframe me
if ppause then
if pframe=1 then
tell sprite(me.spriteNum) to go to the lastframe
else
tell sprite(me.spriteNum) to go to pframe-1
10:sound playfile 1,"音乐/10.mp3"
end case
k=j
end if
k=j
end if
end if
end
10.声音播放按钮与声音文件的调用(限调用演员内部精灵)
on mousewithin me
sendSprite(sprite 2,#move,moveAmount)
end if
end
9.随机播放(外部)音乐
on startmovie
global i
i=random(1,5)
if(i=1) then
sound playfile 1,"音乐/1.mp3"
end
7.使胶片环停止与运行
property ppause,pframe
on beginsprite me
ppause=false
pframe=1
end
on mouseEnter me
ppause=not ppause
if ppause then
tell sprite(me.spriteNum) to pframe=the frame
[Director] 常用的几个director脚本
1.调整分辨率至显示器大小
on exitFrame me
_movie.stage.drawRect = _system.deskTopRectList[1]
_movie.stage.rect = _system.deskTopRectList[1]
on exitFrame me
sound(3).stop()
end
5.播放影片album
on exitFrame me
play movie "moviefile\album"
end
6.告知影片所在的路径的下一目录为MOVIEFILE
on startMovie
append the searchPaths, the moviePath & "moviefile"
2:sound playfile 1,"音乐/2.mp3"
3:sound playfile 1,"音乐/3.mp3"
4:sound playfile 1,"音乐/4.mp3"
5:sound playfile 1,"音乐/5.mp3"
end
12.跳转到下一个标记
on mouseUp me
go to next
end
13.如何制作光盘自动远行
[autorun]
open=projectorname.exe
icon=icon.ico
更改projectorname使之与你的exe名一样,并可加上路径如
open=stuff\projector.exe
sprite(me.spritenum).member = member
("播放按钮")
end if
updateStage
end
17.定制光标(把要用的光标放到演员栏内)
on exitFrame me
Cursor(member 要用的光标)
end
对1的补充:
go to the frame
else
j=random(10)
if j=k then
j=random(10)
else
case j of
1:sound playfile 1,"音乐/1.mp3"
cursor 280
sprite(13).member=member("dvd61") 播放到该精灵所在位置时,播放按钮显示为(调用精灵)"dvd61"
end
on mouseup me
if sound(1).isbusy() then
sound(1).stop()
on beginSprite me
ptuodong = FALSE
end
on mouseDown me
ptuodong = TRUE
end
on mouseUp me
ptuodong = FALSE
end
on mouseUpOutside me
ptuodong = FALSE
end if
if(i=5) then
sound playfile 1,"音乐/5.mp3"
end if
end
9-2.随机连续播放(外部)音乐
on exitFrame me
go the frame
global k
if soundBusy(1) then
end if
end if
end
on mouseLeave me
ppause=not ppause
if ppause then
tell sprite(me.spriteNum) to pframe=the frame
end if
end
8.精灵跟随鼠标移动
property ptuodong
end
11.设置精灵的(宽)和(高)数值
global i
on startmovie
sprite(2).width=490
sprite(2).height=368
end
12.跳转到上一个标记
on rightMouseDown me (当鼠标右键按下时)
go to previous
end
2.到达随机桢
on exitFrame me