第一次写教学帖,不当的地方还请指正^^ 在RM里面插入视频已经是被问了很多次的问题了,站上的avi脚本虽然有时候确实能用但实在是问题多多,在不同电脑上测试成功的概率不到一半= =b,之后夏娜大大做的flash播放脚本在普适性上有了相当大的进步(撒花~~~),但是鉴于夏娜大的脚本一直很难懂,所以很多新手都不知道怎么在rm里面插视频…… 自己用了一下午时间研究了一下flash播放的脚本,写了个具体的说明和小例子,供大家参考。 =================================================== =================================================== 首先请明确,除非对游戏有足够的信心,否则不要在游戏中插入视频,因为这样导致的游戏大小剧增会让很多玩家失去下载的耐心。 =================================================== =================================================== 如果决定要插入视频,并且不想使用avi脚本的话,请继续往下看。 放弃了avi脚本,我们能利用的只有flash播放脚本了。那么要做的工作就有下面几步: 1.确定flash脚本能用。其实这个问题并不大,自己在周围的同学电脑上都测试过了,无一出错。但是网上毕竟还是有报错的情况,所以在所有工作之前请先检验flash脚本的范例是否能正常运行。 脚本范例地址:http://bbs.66rpg.com/UP_PIC/200801/RMFlashV0.3.rar 2.将你所要插入的视频编辑并且转换为swf格式。 因为视频的格式多种多样,这里我们从片源好找也是最麻烦的rm/rmvb格式开始说起。 i.制作视频片段。这里用到专门剪辑rm文件的软件Real Editor 下载地址:http://www.crsky.com/soft/1953.html 软件的使用很简单,这里略过。 值得注意的是,剪切过后该软件输出的文件格式不是rm/rmvb而是ra,这也是real的媒体格式但是很多转换软件不认= =,所以需要再转换一次……而很少有其他软件能够编辑rm格式文件,所以说rm很麻烦啊很麻烦…… ii.转换格式。这里推荐两个软件,都很简单,使用说明均略过= = total video converter ,基本上所有格式通吃的转换软件,缺点是速度慢,老出bug而且bug种类多样= =,比如我这里转avi没问题但是转wmv或者swf就老出错…… 下载:http://www.xdowns.com/soft/10/35/2009/Soft_49173.html color7 video converter,转swf速度很快,目前无出错情况。 下载:http://www.xdowns.com/soft/10/35/2006/Soft_32660.html 关于两个软件的解释:如果你做的是非rmvb片源的话,运气好tvc就能一次转成swf,这样请直接跳到下一步。tvc出了bug转不成swf,那么就用color7转。不过最糟糕的情况是:tvc出bug转不了swf,而用real editor输出的ra格式color7又不认,这个时侯只能先用tvc转成某中介格式(比如avi),再用color7把avi转成swf……我遇到的就是这种情况。嘛,总之就是想方设法把剪辑好的视频转换成swf格式。这方面我也不是很懂,要是有更好的软件也请大家多共享一下。 iii.在rm中播放 其实这就是flash脚本的使用方法嗯……简单做了一个范例, http://bbs.66rpg.com/upload_program/d/Tabris_Air_flash_113240344.rar 脚本库里面插入的是夏娜的flash脚本(把片头播放取消了),在游戏中用事件插入视频 ========================================================== fls = RMFlash.load("AvB_2.swf",320,240) fls.x = 160 fls.y = 100 fls.loop = 1 while true Graphics.update # Input.update fls.update break if !fls.playing? # break if Input.trigger?(13) end fls.dispose ========================================================== 下面把语句解释一下: fls = RMFlash.load("AvB_2.swf",320,240) 这句是读取flash文件AVB_2.swf,320*240表示显示大小为320*240,如果要布满窗口就是640*480 fls.x = 160 fls.y = 100 上面两句是说flash的显示位置为160,100,适当调整这两个数值可以实现居中播放 fls.loop = 1 播放一遍,如果不写这一句就是循环播放 while true Graphics.update # Input.update fls.update break if !fls.playing? # break if Input.trigger?(13) end 上面的循环实现的是画面和flash的刷新。 break if !fls.playing?语句是说如果没有播放了,那么退出循环。因为我们之前设定了loop=1,所以播放一遍之后该语句生效,退出循环。 如果把注释的两个语句用上,那么就是说当按确认键后退出循环 fls.dispose 最后要记得释放 =================================================== =================================================== 就是这么多吧,写的有点乱凑合着看吧= = 有什么问题我再改……截图之后附上 脚本: 范例截图: Total Video Converter 7color video converter real editor |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-12-4 01:35
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.