Project1

标题: 用了播放视频的脚本,但是不知道怎么设置禁止跳过视频 [打印本页]

作者: huhumaru    时间: 2013-4-4 11:33
标题: 用了播放视频的脚本,但是不知道怎么设置禁止跳过视频
我在首页添加了一段OP,用的论坛下载的播放视频的脚本,现在想实现在打最终BOSS前播放一段视频,禁止跳过的功能,看了半天脚本没看明白。
脚本里涉及到禁止跳过只有一段,但是我看不懂:
RUBY 代码复制
  1. # ■ 打开视频后即自动播放。
  2.   #- 按确定键跳过视频。
  3.   def start_movie(filename, option={})
  4.  
  5.     # 检测跳过option
  6.     if option.key?(:skip_sw)
  7.       skip_sw = option[:skip_sw].to_i
  8.     else
  9.       skip_sw = 0
  10.     end
  11.  
  12.     # 禁止跳过option
  13.     if option.key?(:nsm)
  14.       nsm_mode = option[:nsm]
  15.     else
  16.       nsm_mode = false
  17.     end
  18.  
  19.     if skip_sw > 0
  20.       $game_switches[skip_sw] = true
  21.     end
  22.     scene_temp = SceneManager.scene
  23.     if scene_temp.is_a?(Scene_Map) or scene_temp.is_a?(Scene_Battle)
  24.       msgv = SceneManager.scene.instance_variable_get(:@message_window)
  25.       msgv.update
  26.       tempv = msgv.visible
  27.       msgv.visible = false
  28.       # 打开
  29.       RGDS.open(filename)
  30.       RGDS.run()
  31.       # 在播放结束或者未按键时循环
  32.       loop do
  33.         break if scene_temp != SceneManager.scene
  34.  
  35.         # 更新画面
  36.         if SceneManager.scene.is_a?(Scene_Map)
  37.           SceneManager.scene.update_for_fade
  38.         else
  39.           SceneManager.scene.update_basic
  40.         end
  41.  
  42.         if !RGDS.active? # 播放结束
  43.           if skip_sw > 0
  44.             $game_switches[skip_sw] = false
  45.           end
  46.           break
  47.         end
  48.         unless nsm_mode
  49.           if Input.trigger?(Input::C) or Input.trigger?(Input::B)
  50.             break
  51.           end
  52.         end
  53.       end
  54.       RGDS.close()
  55.       msgv.visible = tempv
  56.     end
  57.   end

在地图事件里调用的脚本如下
RGDS_SP.set_position(320,240,1000,480,true)
$game_system.movie_info.z=500
RGDS_SP.start_movie("movies/test.mpg")

我觉得应该还是有在事件里设置禁止播放的功能的,但是那个option怎么设置我看不懂。
范例工程在这里:ht()tp://dl.vmall.com/c0wtboag7o
作者: 沙漠点灰    时间: 2013-4-4 12:15
找了半天,只找到定义".start_movie"的地方{:2_271:}...
我擦,原来写在事件里的.{:2_276:}

RGDS_SP.start_movie("movies/test.mpg")
改成
RGDS_SP.start_movie("movies/test.mpg",
{:nsm => true})
即可
作者: huhumaru    时间: 2013-4-4 19:40
测试了下,貌似这样写也不行
作者: c248611    时间: 2013-4-5 18:59
我不会调用。。。。我无语了。。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1