主题:  {文章}常用声音Lingo

段氏

职务:普通成员
等级:1
金币:1.0
发贴:196
注册:2003/10/25 11:07:14
#12003/11/11 13:40:05
常用声音Lingo
channe1Count
语法: the channe1Count of member whichCastMember
用途: 此属性返回声音造型成员所使用的声音通道数。
举例: put the channe1Count of member”Jazz”
currentTime
语法: the currentTime of sprite whichSprite
用途: 此属性确定了声音或视频精灵当前正在播放的时间,以毫秒为单位。
举例: set the text of member”time” to (the currentTime of sprite l0)/ 1O00
multiSound
语法: the multiSound
用途: 如果现在系统支持两个或两个以上的声音通道时,就返回TRUE。
举例: if the multiSound then sound playFile 2,”Music”
puppetSound
语法: puppeiSound whichChanne1,”whichCastMember”
puppetSound whichChanne1,0
用途: 此命令用来播放声音造型成员或是停止播放造型成员。
举例: puppetsound 1,”Wind”
puppetSound 2,0
sampleSize
语法: the sampleSize of member whichCastmember
用途: 此属性返回造型成员的采样大小,通常是8位或是16位。
举例: set soundSize = the sampleSize of member”Voice Over”
SoundBuSy
语法: soundBusy(whichChannel)
用途: 此函数用来判断声音通道是否正在播放声音。
举例: if soundBusy(1) then go to the frame
soundEnab1ed
语法: the soundEnab1ed
用途: 此属性用来决定声音是否打开,如果为TRUE,就可以听到声音,如果为FALSE,虽然音量不变,但是却听不到声音。
举例: set the soundEnab1ed to TRUE
sound Close
语法: sound c1ose soundChannel
用途: 用来关闭某个声音通道中的声音播放,最好是使用puppetSound命令来代替它。
举例: sound c1ose l
fadeln
语法: sound fadeln whichChanne1, ticks
用途: 以指定的ticks时间使声音通道中的声音渐强,如果没有指定ticks值,就以15*(60/(Tempo seiiing))为时间,其中的Tempo setting为当前帧速度。
举例: sound fadeIn 1.5 * 60
fadeOut
语法: sound fadeOut whichChanne1, ticks
用途: 以指定的时阳j使声音通道中的声音渐弱。
举例: sound fadeOut 1.5 * 60
playFile
语法: sound playFile whichChanne1, whichFile
用途: 此命令用来播放外部AIFF和WAVE声音文件,如果声音文件和电影文件不在一个目录中,要为电影名加上全路径。
举例: sound playFile 3, the pathName&”Thunder”
volume
语法: the vo1ume of sound whichChannel
用途: 此属性用来决定声音通道的音量大小,以0.255之间的数值表示。0表示静音, 255表示音量最大。
举例: set the volume of sound 2 to l30
bitRate
语法: the bitRate of member whichCastmember
用途: 此属性返回了下载的Shockwave Audio的波特率,以Kbps为单位。
举例: put the bitRate of member”prima”
bitsPerSample
语法: the bitsPerSample of member”whichCastmember”
用途: 此属性返回了转换到Shockwave Audio之前的声音的位数。
举例: put the bitsPerSample of member”paul Robeson”
percentStreamed
语法: the percentStreamed of member”whichCastmember”
用途: 此属性用来指示一个Shockwave Audio已经下载的百分比。
举例: put the percentStreamed of member”Charles”
percentPlayed
语法: the percentPlayed of member”whichCastmember”
用途: 此属性用来指示一个Shockwave Audio已经播放的百分比。
举例: put the percentPlayed of member”Frank”
preloadBuffer
语法: preLoadBuffer member”whichCastmember”
用途: 此命令将一个Shockwave Audio预先加载到内存中。
举例: preLoadBuffer (member”Torme”)
preloadTime
语法: preLoadTime of member whichCastmember
用途: 此属性决定在电影播放之前使用流技术下载的Shockwave Audio的时间。
举例: set the preLoadTime of member”Louis”=6
soundChannel
语法: the soundChanne1 of member“whichCastmember”
用途: 此属性决定了声音造型成员播放的声音通道。
举例: set the soundChanne1 of member”Frank”to 3
state
语法: state of member”whichCastmember”
用途: 此属性指示了Shockwave Audio的状态:
0 停止
1 正在下载
2 下载完成
3 正在播放
4 暂停
5 完成
9 出现错误
10 CPU资源不足
举例:
if the state of member”Ella Fiizgerald”:9 then
alert "Sorry,this is an erro"
end if

用Director制作多状态按钮

在多媒体开发中,好的按钮往往会给创作的作品增色不少。不过,一个专业的多媒体按钮至少应具有四种状态:松开、按下、滑过和无效。对于这种多状态按钮,director提供了极其简便的制作工具,以下就是这类按钮的具体制作步骤:
素材的准备
启动firework 4.0,新建一大小为100×70、背景为透明的文件,利用矩形工具、文字工具和effect面板下的inner bevel特效分别创建按钮的四种状态“松开”、“按下”、“滑过”和“无效”图片。启动director 8,通过剪切、粘贴的方式把相应的图片内容直接复制到director的成员表中(如图1),或者保存为相应的图片文件后,再通过导入(import)命令导入director到成员表中。
创建多状态按钮

在director 8中,用鼠标左键按住成员表中的“松开”按钮图片,拖动到舞台的合适位置,松开鼠标放下图片。然后通过菜单“window→library palette”命令打开库面板,点击左上角的按钮,在出现的下拉菜单中点击“controls”选项,打开控制库面板(如图2),把鼠标移动到“push button”选项左边的小图标上,这时光标变成手形,按下鼠标左键,拖动该图标到舞台上的按钮图片上,松开鼠标,这时会自动打开一个按钮参数设置对话框,从上到下分别表示为:按钮标准状态,鼠标滑过、鼠标按下和按钮无效状态下对应的图片成员;按钮的初始化状态是激活还是无效;按钮响应鼠标事件的方式和在上面产生的mouseup事件的消息传递方式;最后一个输入框可以输入自己对按钮的说明文字。本实例由于按钮图片正好按照四种状态依次排列在成员表中,因此直接取默认值,点击ok按钮即可。
测试按钮效果
我们通过播放电影的方式来测试按钮效果:把鼠标移动到按钮上,这时按钮图片变成滑过状态下的图片,按下鼠标左键,按钮图片变成按下图片,松开后又恢复到滑过状态,鼠标离开按钮则变为松开状态。如果我们设置其初始化状态为无效,按钮将不响应所有鼠标事件。当然,在运行的过程中要激活它则需要编写一定的lingo代码。
编辑、修改按钮
如果需要修改按钮的状态,则可以通过属性检查器面板重新设置按钮参数,具体方法为:通过window→inspector→property打开属性检查器,点击行为栏(behavior),打开行为检查器,在这里可以更改刚才设置的参数,通过两个齿轮的按钮或者双击push button(internal)行为打开参数设置对话框,也可以用脚本编辑窗口按钮打开脚本编辑器,自己修改lingo脚本,直到满意为止。

此主题相关图片如下:

此主题相关图片如下:





菜单的渐隐渐逝效果
如果我们想让一个菜单(或其它的图片等)渐隐出来或渐现的话,可以用 blend 属性
在一个按钮上面加如下语句:
渐现:
on mouseup me
repeat with i=0 to 100
sprite(xx).blend=i --xx为菜单或图片的通道号
updatestage
i=i+10
end repeat
end
渐隐:
on mouseup me
repeat with i=100 down to 0
sprite(xx).blend=i --xx为菜单或图片的通道号
updatestage
i=i-10
end repeat
end



Director小技巧集锦:转载于奥古多媒体www.aougu.net
1、选中角色时,按ctrl键点鼠标左键即可调出墨水菜单!
2、director的import对话框对一次导入的文件数目有一定限制,如果你的文件够多,可以选种n个直接从资源管理器中往cast中拖。
3、Ctrl + F打开文字的查找/替换窗口,不仅可以替换普通的文本,在script窗口中也可使用,例如可以方便更改整个script中的某一变量名称或数值。
4、增加通道中贞的长度用"ctrl"+]键。减少通道中贞的长度用"ctrl"+[键。
5、在音频编辑时COPY音轨直接贴入CAST中,为WAV嵌入
6、在score中:
  按alt移动精灵的某个关键帧,可以复制关键帧。
  按ctrl移动精灵的某个关键帧,可以不影响到精灵的其他关键帧。
  选中精灵,按ctrl+b可以裁切精灵的帧。
  按ctrl+shift+]可以一次插入n帧。
  当程序进入死循环没有响应时,可按ctrl+alt+.停下来,其实按 esc也可以
7、点击舞台上的精灵,会出现选择效果。这时按小键盘中的“+”会去除选择效果,可以让较准精细些。
8、说说text,field的可编辑属性
 8.1. text or field 想用一个按钮控制其可编辑属性,必须先是 非编辑状态保存。
 8.2. 当 用 lingo 改变这个编辑属性 ( sprite(x).member.editable =1 ) 的时候光标不会显示,也就是说 出现了假编辑状态。再执行: sprite(x).member.scrolltop=0 就可以了。
9、建立filmloop 的快捷方式:选择目标精灵后,选择空演员,按Ctrl+V即可建立filmloop!
10、在Script窗口里,Ctrl+Enter可以自动对齐编写凌乱的代码并且做一个简单的检测
11、当你在 score 中 " 找不着北的时候 " 点图示红框中的按钮。作用是 把 当前磁头所在 frame 在score 窗口 居中。
12、cast中复制一个filmloop,d在score中空白处CTRL+V,就能把原来的filmloop展开。试试吧!很多人不知的。
13、双击位图处理器中的注册点,可以马上让注册点居中
14、选中精灵:
按Ctrl+Shift+i,调出属性框。
按Ctrl+Shift+;可调出Behavior框。
Ctrl+0,直接写脚本。
选中多个精灵:
按Ctrl+k出对齐框。
Ctrl+s,保存。
在通道在选中一帖:
按Ctrl+b,可删掉多帖。
选中一精灵:按Ctrl+L,锁定。 通道中选中锁定精灵,Ctrl+Shift+L,解锁。
Ctrl+R,开始装图片吧。
Ctrl+M,message窗口。
Ctrl+N,创建一个新文件。
15、rtf 或者 word 文档中 英文半角引号导入director中,有些字体引号显示乱码。把 rft 或者 word 文档转存 txt 文档,然后导入就正常了。
17、ctrl+0 控制script窗口是否显示
  ctrl+1 使stage显示在最前面
  ctrl+2 控制control panel 是否显示
  ctrl+3 控制cast窗口是否显示
  ctrl+4 控制score窗口是否显示
  ctrl+5 控制paint窗口是否显示
  ctrl+6 控制text窗口是否显示
  ctrl+7 当被选中时,显示tool palette
  ctrl+8 控制text field窗口是否显示
  ctrl+9 控制是否显示video窗口,如果安装了quicktime,则打开qt窗口
  ctrl+- 当score窗口是活动的时,通过使每帧更窄而缩小分镜表视图.当舞台
   是活动的时,将舞台视图缩减一个级别.
  ctrl++ 当score窗口是活动的时,通过使每帧更宽而扩大分镜表视图.当舞台
   是活动的时,将舞台视图扩大一个级别.
  ctrl+左箭头 把播放头移动到前一个标记
  ctrl+右箭头 把播放头移动到下一个标记
  ctrl+上箭头 把选中的元素向前移动一层
  ctrl+下箭头 把选中的元素向后移动一层
  ctrl+' 显示选定的角色成员所附加的脚本
  ctrl+; 查找指定的角色成员
  ctrl+Y 重复最后一次动作
18、想实现这样一个效果:
  当没有事件发生时是一张100×100的图片,当Mouse within时,变成一个100*100的电影片段,当Mouse leave时
再变成一张图片,直接把电影导入Director是不可以的,当Mouse within时电影会有问题,必须先把电影制作成一个独立的Dir,然后再导入这个Dir完成!
19、在舞台STAGE上按住空格键.可以控制整个STAGE位置.
20、文本变图片
  在d中,对文本的支持大家都领教过了,所以对于一些简单的文本,我们希望可以在d中做,然后转化为图片,但个covert to bitmap实在不敢恭维,要有更好的效果,可以利用image这个属性,方法是建一个图片演员(随便画就行),然后在消息窗口输入member(bitmapmember).image=member(textmember).image,这样,就出来一个可以很好透明的文本图片了。
21、位图有光晕,可导入flash描边,形成.swf文件引入D
F中做的按扭在D中引用,非常靓,一句话,很多演员可在F中制作,在D中引用。
22、图像在 Adobe Photoshop 中编辑 ,制作前选择背景透明,最后保存时存成 psd 的格式,导入 Director 中不会有毛边,而且在 Adobe Photoshop 中的效果都有,包括图像边缘的半透明!!!
23、写lingo时,用alt+enter快速换行连接
24、在score中,点击某个精灵,直接按任意键就可写如行为,且此行为自动附在该精灵上。
25、脚本的文本有时不能用script("name").text得到,但点击重新编译按钮后又能够输出了,但这不能进行批处理,最好用member("name").scripttext这样就没有问题了


。Director小技巧集锦:转载于奥古多媒体www.aougu.net
1、选中角色时,按ctrl键点鼠标左键即可调出墨水菜单!
2、director的import对话框对一次导入的文件数目有一定限制,如果你的文件够多,可以选种n个直接从资源管理器中往cast中拖。
3、Ctrl + F打开文字的查找/替换窗口,不仅可以替换普通的文本,在script窗口中也可使用,例如可以方便更改整个script中的某一变量名称或数值。
4、增加通道中贞的长度用"ctrl"+]键。减少通道中贞的长度用"ctrl"+[键。
5、在音频编辑时COPY音轨直接贴入CAST中,为WAV嵌入
6、在score中:
  按alt移动精灵的某个关键帧,可以复制关键帧。
  按ctrl移动精灵的某个关键帧,可以不影响到精灵的其他关键帧。
  选中精灵,按ctrl+b可以裁切精灵的帧。
  按ctrl+shift+]可以一次插入n帧。
  当程序进入死循环没有响应时,可按ctrl+alt+.停下来,其实按 esc也可以
7、点击舞台上的精灵,会出现选择效果。这时按小键盘中的“+”会去除选择效果,可以让较准精细些。
8、说说text,field的可编辑属性
 8.1. text or field 想用一个按钮控制其可编辑属性,必须先是 非编辑状态保存。
 8.2. 当 用 lingo 改变这个编辑属性 ( sprite(x).member.editable =1 ) 的时候光标不会显示,也就是说 出现了假编辑状态。再执行: sprite(x).member.scrolltop=0 就可以了。
9、建立filmloop 的快捷方式:选择目标精灵后,选择空演员,按Ctrl+V即可建立filmloop!
10、在Script窗口里,Ctrl+Enter可以自动对齐编写凌乱的代码并且做一个简单的检测
11、当你在 score 中 " 找不着北的时候 " 点图示红框中的按钮。作用是 把 当前磁头所在 frame 在score 窗口 居中。
12、cast中复制一个filmloop,d在score中空白处CTRL+V,就能把原来的filmloop展开。试试吧!很多人不知的。
13、双击位图处理器中的注册点,可以马上让注册点居中
14、选中精灵:
按Ctrl+Shift+i,调出属性框。
按Ctrl+Shift+;可调出Behavior框。
Ctrl+0,直接写脚本。
选中多个精灵:
按Ctrl+k出对齐框。
Ctrl+s,保存。
在通道在选中一帖:
按Ctrl+b,可删掉多帖。
选中一精灵:按Ctrl+L,锁定。 通道中选中锁定精灵,Ctrl+Shift+L,解锁。
Ctrl+R,开始装图片吧。
Ctrl+M,message窗口。
Ctrl+N,创建一个新文件。
15、rtf 或者 word 文档中 英文半角引号导入director中,有些字体引号显示乱码。把 rft 或者 word 文档转存 txt 文档,然后导入就正常了。
17、ctrl+0 控制script窗口是否显示
  ctrl+1 使stage显示在最前面
  ctrl+2 控制control panel 是否显示
  ctrl+3 控制cast窗口是否显示
  ctrl+4 控制score窗口是否显示
  ctrl+5 控制paint窗口是否显示
  ctrl+6 控制text窗口是否显示
  ctrl+7 当被选中时,显示tool palette
  ctrl+8 控制text field窗口是否显示
  ctrl+9 控制是否显示video窗口,如果安装了quicktime,则打开qt窗口
  ctrl+- 当score窗口是活动的时,通过使每帧更窄而缩小分镜表视图.当舞台
   是活动的时,将舞台视图缩减一个级别.
  ctrl++ 当score窗口是活动的时,通过使每帧更宽而扩大分镜表视图.当舞台
   是活动的时,将舞台视图扩大一个级别.
  ctrl+左箭头 把播放头移动到前一个标记
  ctrl+右箭头 把播放头移动到下一个标记
  ctrl+上箭头 把选中的元素向前移动一层
  ctrl+下箭头 把选中的元素向后移动一层
  ctrl+' 显示选定的角色成员所附加的脚本
  ctrl+; 查找指定的角色成员
  ctrl+Y 重复最后一次动作
18、想实现这样一个效果:
  当没有事件发生时是一张100×100的图片,当Mouse within时,变成一个100*100的电影片段,当Mouse leave时
再变成一张图片,直接把电影导入Director是不可以的,当Mouse within时电影会有问题,必须先把电影制作成一个独立的Dir,然后再导入这个Dir完成!
19、在舞台STAGE上按住空格键.可以控制整个STAGE位置.
20、文本变图片
  在d中,对文本的支持大家都领教过了,所以对于一些简单的文本,我们希望可以在d中做,然后转化为图片,但个covert to bitmap实在不敢恭维,要有更好的效果,可以利用image这个属性,方法是建一个图片演员(随便画就行),然后在消息窗口输入member(bitmapmember).image=member(textmember).image,这样,就出来一个可以很好透明的文本图片了。
21、位图有光晕,可导入flash描边,形成.swf文件引入D
F中做的按扭在D中引用,非常靓,一句话,很多演员可在F中制作,在D中引用。
22、图像在 Adobe Photoshop 中编辑 ,制作前选择背景透明,最后保存时存成 psd 的格式,导入 Director 中不会有毛边,而且在 Adobe Photoshop 中的效果都有,包括图像边缘的半透明!!!
23、写lingo时,用alt+enter快速换行连接
24、在score中,点击某个精灵,直接按任意键就可写如行为,且此行为自动附在该精灵上。
25、脚本的文本有时不能用script("name").text得到,但点击重新编译按钮后又能够输出了,但这不能进行批处理,最好用member("name").scripttext这样就没有问题了。





菜单的渐隐渐逝效果
如果我们想让一个菜单(或其它的图片等)渐隐出来或渐现的话,可以用 blend 属性
在一个按钮上面加如下语句:
渐现:
on mouseup me
repeat with i=0 to 100
sprite(xx).blend=i --xx为菜单或图片的通道号
updatestage
i=i+10
end repeat
end
渐隐:
on mouseup me
repeat with i=100 down to 0
sprite(xx).blend=i --xx为菜单或图片的通道号
updatestage
i=i-10
end repeat
end


某个文件夹或是文件夹以windows的风格打开
open "explorer"&&"c:\"
还可以用
gotonetpage"c:/"
当然还可以用buddyapi等一些插件来实现

用showprops() 可以得到flash或3d member的属性
put member("flash").showprops() 将返回
preload: 1
bufferSize: 32768
directToStage: 0
centerRegPoint: 1
regPoint: point(360, 288)
defaultRect: rect(0, 0, 720, 576)
sound: 1
imageEnabled: 1
pausedAtStart: 0
loop: 1
quality: #high
playbackMode: #normal
fixedRate: 15
scale: 100.0000
rotation: 0.0000
originMode: #center
originPoint: point(0, 0)
originH: 0.0000
originV: 0.0000
viewScale: 100.0000
viewPoint: point(0, 0)
viewH: 0.0000
viewV: 0.0000
broadcastProps: 1
scaleMode: #autosize
static: 0
buttonsEnabled: 1
actionsEnabled: 1
eventPassMode: #passalways
clickMode: #opaque
posterFrame: 1
streamMode: #frame
defaultRectMode: #flash
obeyScoreRotation: 1
sourceFileName:
percentStreamed: 100
bytesStreamed: 643976
streamSize: 643976
state: 4
flashRect: rect(0, 0, 720, 576)
frameRate: 25
frameCount: 2607
pathName:
linked: 0
image: <20 1f902c>
bgColor: rgb( 255, 236, 248 )


每次发email都有一个讨厌的空白页出来
因为gotonetpage还有相应的语句browserName
browserName缺省是在edit-->perference-->network中设定,可以通过lingo修改
通常发一个mail的语句是
browserName C:\Program Files\Internet Explorer\IEXPLORE.EXE"
gotonetpage "mailto:54zq@5d.cn"
相当于运行open"C:\Program Files\Internet Explorer\IEXPLORE.EXE mailto:54zq@5d.cn"
而maito在window里是一个特殊的关键字,如果有装outlook,它产生
shell "C:\PROGRA~1\MICROS~4\Office10\OUTLOOK.EXE" -c IPM.Note /m "%1"
那么完全可以不出现多余的空白页,这样写
open "C:\Program Files\Microsoft Office\Office10\OUTLOOK.EXE -c IPM.Note /m"&&"54zq@5d.cn"
哈,万一没装outlook怎么办,用buddyapi去查注册表的mailto,然后改写一个符合lingo的open

编辑历史:[此帖被东影默编辑过(编辑时间2003-11-11 23:42:31)]


南山东篱摄螂

职务:普通成员
等级:4
金币:10.0
发贴:1840
注册:2000/10/22 10:31:19
#22003/11/11 23:42:01
好文章,
帮你把"禁止笑脸转换"给选上



段氏

职务:普通成员
等级:1
金币:1.0
发贴:196
注册:2003/10/25 11:07:14
#32003/11/12 12:09:46
希望以后多多指教!



Super ChiCk

职务:版主
等级:5
金币:15.0
发贴:3502
注册:2003/9/6 14:53:41
#42003/11/14 11:42:08



段氏

职务:普通成员
等级:1
金币:1.0
发贴:196
注册:2003/10/25 11:07:14
#52003/11/14 18:27:53
还有更好的网站吗



myjackcn

职务:普通成员
等级:1
金币:0.0
发贴:1
注册:2003/9/1 14:16:54
#62003/11/19 10:27:52
good



段氏

职务:普通成员
等级:1
金币:1.0
发贴:196
注册:2003/10/25 11:07:14
#72003/11/21 10:47:26
大家一起学习



青青宝贝

职务:普通成员
等级:1
金币:0.0
发贴:63
注册:2003/1/23 10:33:46
#82003/12/3 20:20:21
Good!!!!!



段氏

职务:普通成员
等级:1
金币:1.0
发贴:196
注册:2003/10/25 11:07:14
#92003/12/9 14:58:13
谢谢!俺很想找教D的老师呀!