《2022年director中常用代码 .pdf》由会员分享,可在线阅读,更多相关《2022年director中常用代码 .pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、一、全屏播放Director本身并不能支持自动适应屏幕分辨率的全屏播放,它也没有提供可以更改屏幕分辨率的函数。但许多时候,我们要求能全屏播放。解决办法是, 使用第三方xtra :DMChangeRes.x32。DMChangeRes.x32 中提供一个有用的函数:ChangeRes(width, height),它用于设置屏幕分辨率。我们需要程序运行时改变分辨率,在程序退出时恢复分辨率。因此,新建Movie Script,在其中写如下代码:- 全局 oldScreenSize保存原始分辨率,用以程序退出时恢复global oldScreenSize on prepareMovie if _sy
2、stem.deskTopRectList13800 then alert 对不起,您的电脑显示屏当前分辨率太低,请调整为800*600 后重新运行本程序! go to marker(end) else set oldScreenSize=ChangeRes(800,600) end if end on stopMovie if oldScreenSizevoid then ChangeRes(oldScreenSize) end if end 另外,由于 Demo中调用了试玩游戏,试玩游戏在退出时奇怪地把分辨率恢复了,致使Demo显示于左上角,无法继续布满整个屏幕。解决办法是响应Windows
3、 ActivateWindow消息,当 Demo被调到前台时,它将重新检测分辨率,在需要时重设:on activateWindow if _system.deskTopRectList13800 then ChangeRes(800,600) end if end 把以下命令放在第一帧的帧脚本处,可实现强制全屏:on exitFrame me go the frame (the stage).rect = (the desktopRectList)1 (the stage).drawRect = (the desktopRectList)1 end NO2:或者添加这段代码也行,可以达到同样的
4、效果名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - on startMovie global oldRes set oldRes = changeRes(800,600) put the colorDepth into field color put the desktopRectList1.width into field width put the desktopRectList1.height into field hei
5、ght end on stopMovie global oldRes changeRes(oldRes) end 解释一下:startmovie 表示影片开始时的动作,stopmovie 表示影片结束的动作,changeRes(800,600)就是改分辨率了, changeRes(oldRes)就表示退出影片时恢复原来的分辨率了。put the colorDepth into field color put the desktopRectList1.width into field width put the desktopRectList1.height into field height
6、是我显示当前分辨率的global oldRes on startmovie if the runmode=projector then set oldRes = changeRes(800, 600) (the stage ). rect = ( the desktopRectList) 1 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - - (the stage ). drawRect = ( the desktopRectLis
7、t) 1 end ifend 不用插件,自动修改分辨率我想做一个自动识别分辨率的,屏幕是800*600 ,作品就是800*600 ,屏幕是 1024768 ,做品就是 1024 768 on prepareMovie tDF_stage=(the desktopRectList)1 - tDF_stagewidthY=(the desktopRectList)13 - tDF_stagewidth=integer(tDF_stage4*1.222) - tDF_stageleft=abs(tDF_stagewidthY-tDF_stagewidth)/2 - tDF_stage=rect(tD
8、F_stageleft,0,tDF_stagewidth+tDF_stageleft,tDF_stage4) (the stage).rect = tDF_stage (the stage).drawRect = tDF_stage end 我是这么写的,可是不知道为什么没起作用!后来我想到原因,做一个dir,里面只写一句话,go movie “index ”,然后在 index 里写上上面的脚本,原因是这个脚本的文件不能直接打包。http:/ On Idle中编写代码。-blnBkgMusicStarted指示背景音乐是否已开始-g_strBkgMusic是当前背景音乐文件名称Global
9、blnBkgMusicStarted Global g_strBkgMusic 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 5 页 - - - - - - - - - on Idle if g_blnBkgMusicStarted and sound(1).isBusy()=false then - 播放新的音乐sound(1).playFile(the MoviePath & music &g_strBkgMusic) end if end - 该函数用于播放一个背
10、景音乐,strMusic是被播放的文件名on PlayBkgMusic strMusic g_strBkgMusic=strMusic - 播放新的音乐sound(1).playFile(the MoviePath & music &g_strBkgMusic) g_blnBkgMusicStarted=true end 另外,由于Director支持 8 个声音通道,所以播放音效可以用更灵活的方式,不必把音效固定某个通道上,编写一个公共函数,然后在需要播放音效时调用它。- 形参 strSound 是被播放音效的文件名,不需要包含路径。on PlaySound strSound - 让 i 从
11、 2 开始,因为通道1 作为背景音乐的专用通道repeat with i=2 to 8 if soundBusy(i)=false then - 播放新的音乐sound(i).playFile(the MoviePath & sound &strSound) exit repeat end if end repeat end 三、让 dirctor发声1、新建文本2、添加以下代码on mouseUp me voiceSpeak (sprite ( me . spritenum ). member . text ) end四、下一步和上一步on mouseenter cursor 280endo
12、n mouseleave cursor - 1endon mouseup puppetsound 1 , 0 puppetsound 2 , 0 go next名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 5 页 - - - - - - - - - end on mouseenter cursor 280endon mouseleave cursor - 1endon mouseup puppetsound 2 , 0 puppetsound 1 , 0 go prev
13、iousend 跳转(到“ aaa”)on mouseenter cursor 280endon mouseleave cursor - 1endon mouseup puppetsound 1 , 0 puppetsound 2 , 0 go aaaend 注:其中puppetsound 2 , 0 puppetsound 1 , 0这两个可以不要,以免出错。五、背景音量的控制库动画自动化 滑动添加给精灵就行了!六、输入文字框组件 -textarea 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 5 页 - - - - - - - - -