赞 | 0 |
VIP | 0 |
好人卡 | 9 |
积分 | 1 |
经验 | 16728 |
最后登录 | 2014-12-17 |
在线时间 | 510 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 510 小时
- 注册时间
- 2010-5-8
- 帖子
- 266
|
- #--------------------------------------------------------------------------------------------
- class Scene_Movie
- #--------------------------------------------------------------------------------------------
- # 制作者/ SoundSpawn
- #--------------------------------------------------------------------------------------------
- # 修改 / Popper
- #--------------------------------------------------------------------------------------------
- # 加译 / XTLCME
- #--------------------------------------------------------------------------------------------
- # 说明
- # 1) 需要播放的影片必须放在您的工程目录下的"Movie"文件夹里
- # 2) 如果你需要在事件编辑器中使用这个脚本 请使用 $scene = Scene_Movie.new("INTRO")
- # 3) 希望您使用愉快!!!
- #--------------------------------------------------------------------------------------------
- # 初始化
- def initialize(movie)
- @readini = Win32API.new 'kernel32', 'GetPrivateProfileStringA', %w(p p p p l p), 'l'
- @movie_name = Dir.getwd()+"\\Movies\\"+movie+".avi"
- main
- end
- #--------------------------------------------------------------------------------------------
- # 主处理
- def main
- game_name = "\0" * 256
- @readini.call('Game','Title','',game_name,255,".\\Game.ini")
- game_name.delete!("\0")
- @wnd = Win32API.new('user32','FindWindowEx','%w(l,l,p,p)','L')
- @temp = @wnd.call(0,0,nil,game_name).to_s
- movie = Win32API.new('winmm','mciSendString','%w(p,p,l,l)','V')
- movie.call("open \""+@movie_name+"\" alias FILE style 1073741824 parent " + @temp.to_s,0,0,0)
- @message = Win32API.new('user32','SendMessage','%w(l,l,l,l)','V')
- @detector = Win32API.new('user32','GetSystemMetrics','%w(l)','L')
- @width = @detector.call(0)
- #--------------------------------------------------------------------------------------------
- # 全屏化处理
- if @width == 640
- fullscreen
- Graphics.update
- sleep(0.1)
- Graphics.update
- sleep(0.1)
- Graphics.update
- sleep(0.1)
- fullscreen
- end
- #--------------------------------------------------------------------------------------------
- status = " " * 255
- movie.call("play FILE",0,0,0)
- #--------------------------------------------------------------------------------------------
- # 循环
- loop do
- sleep(0.1)
- @message.call(@temp.to_i,11,0,0)
- Graphics.update
- @message.call(@temp.to_i,11,1,0)
- Input.update
- movie.call("status FILE mode",status,255,0)
- true_status = status.unpack("aaaa")
- #--------------------------------------------------------------------------------------------
- # 如果播放标记不对 或按下B键 就结束播放
- if true_status.to_s != "play"
- break
- end
- if Input.trigger?(Input::B)
- $scene = Scene_Map.new
- break
- end
- #--------------------------------------------------------------------------------------------
- # 跳转回地图
- end
- $scene = Scene_Map.new
- end
- #--------------------------------------------------------------------------------------------
- end
复制代码 大致的使用方法是在你的工程里新建一个文件夹(与Audio\Graphics同一级)
命名为"Movies" 然后把想要放的片子(*.avi格式)放进去
要放的时候在事件的第三页选脚本 插入
$scene = Scene_Movie.new("INTRO")
其中INTRO要替换成你想播放的文件名
(在DIYRPG轉回來的,試試用吧,不過聽說用不了) |
|