设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1870|回复: 5
打印 上一主题 下一主题

[已经解决] 一个VA用的暂停脚本 希望能加入开关

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
65 小时
注册时间
2008-5-15
帖子
44
跳转到指定楼层
1
发表于 2013-3-14 17:09:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 牲口 于 2013-3-14 22:12 编辑

RUBY 代码复制
  1. ###############################################################################
  2. #Pause Script Version 3                                       
  3. # Author: Unsigned_Zero
  4. # Updated by Tsukihime
  5. ###############################################################################
  6.  
  7. # Pause picture should be placed in the Graphics/System folder
  8.  
  9. module U0_Pause_module
  10.  
  11.   PAUSE_BUTTON = "B"
  12.   Pause_Picture = "Pause"
  13.  
  14.   #dim the screen during pause
  15.   Dim_Screen = false
  16.   Dim_Brightness = 100
  17.   #The bgm to play when paused
  18.   Pause_Music = "1"
  19.   #The bgm volume when paused
  20.   Pause_Volume = 0
  21.   # Freeze Time when in pause mode?
  22.   TIME_STOP = true
  23.   PAUSE_BUTTON2 = eval("Input::#{PAUSE_BUTTON}")
  24.   PAUSE_OPACITY = 255 #opacity of the picture
  25.  
  26.   def stopping
  27.     bgm = RPG::BGM.last
  28.     bgs = RPG::BGS.last
  29.     prev_brightness = Graphics.brightness
  30.     RPG::BGM.stop
  31.     Audio.bgm_play('Audio/BGM/' + Pause_Music, Pause_Volume)
  32.     viewport1 = Viewport.new(0, 0, Graphics.width, Graphics.height)
  33.     viewport1.z = 10000
  34.     pause_sprite = Sprite.new(viewport1)
  35.     pause_sprite.tone = Tone.new(0, 0, 0, 0)
  36.     pause_sprite.bitmap = Cache.system (Pause_Picture)
  37.     pause_sprite.opacity = PAUSE_OPACITY
  38.     loop do
  39.       Graphics.update
  40.       Graphics.brightness = Dim_Brightness if Dim_Screen
  41.       Input.update
  42.       if Input.trigger?(PAUSE_BUTTON2)
  43.         break
  44.       end
  45.     end
  46.     Graphics.brightness = prev_brightness
  47.     bgm.play(bgm.pos)
  48.     bgs.play(bgs.pos)
  49.     pause_sprite.dispose
  50.     pause_sprite = nil
  51.   end
  52.  
  53. end
  54. #==============================================================================
  55. #  Scene_Base
  56. #==============================================================================
  57.  
  58. class Scene_Base
  59.   include U0_Pause_module
  60.   alias u0_pause_update update
  61.   def update
  62.     if Input.trigger?(PAUSE_BUTTON2)
  63.       frame = Graphics.frame_count
  64.       stopping
  65.       if TIME_STOP
  66.         Graphics.frame_count = frame
  67.       end
  68.     end
  69.   u0_pause_update
  70.   end
  71. end


自己搞了半天 没成功 只好求助了

这个脚本用来暂停游戏的 但是我并不希望随时能暂停

求各位大大帮忙加个开关 让开关开启时这个脚本才有效

Lv1.梦旅人

梦石
0
星屑
50
在线时间
687 小时
注册时间
2012-10-29
帖子
1543
2
发表于 2013-3-14 17:16:59 | 只看该作者
先声明,没有测试过,只是一个提议:

自己定个开关,比方 $game_switches[24] 第 24 号开关如果为 true 就暂停无效

然后在脚本 62 行改成:
  1.     if Input.trigger?(PAUSE_BUTTON2) && $game_switches[24] != true
复制代码
这样只有 24 号开关为关闭时,按暂停才有效。
修改劇本中,仔細審查原來的劇情大綱,覺得有點不太滿意,嘗試編寫不同主角不同主線的劇情,希望能寫得出來。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
65 小时
注册时间
2008-5-15
帖子
44
3
 楼主| 发表于 2013-3-14 17:46:58 | 只看该作者
测速了 不行

不过还是谢谢

点评

我试过了,在一个自动开始的事件最前面把开关 24 开启,当进入该地图按 Esc 并不会暂停,怎么说无效?  发表于 2013-3-14 18:45
改过后有刷新吗?  发表于 2013-3-14 18:36
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
65 小时
注册时间
2008-5-15
帖子
44
4
 楼主| 发表于 2013-3-14 21:57:04 | 只看该作者
我试过了,在一个自动开始的事件最前面把开关 24 开启,当进入该地图按 Esc 并不会暂停,怎么说无效?


OK 找这个方法可行! 太感谢了!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
65 小时
注册时间
2008-5-15
帖子
44
5
 楼主| 发表于 2013-3-14 22:02:00 | 只看该作者
本帖最后由 牲口 于 2013-3-14 22:11 编辑

搞定!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
687 小时
注册时间
2012-10-29
帖子
1543
6
发表于 2013-3-14 22:07:24 | 只看该作者
本帖最后由 j433463 于 2013-3-14 22:15 编辑

该不会和我片头动画切换时一样遇到事件时间差的状况吧?那试试不要用事件指令的开关操作,改用事件脚本 $game_switches[24] = true 来做,看看有没有差别?

还有一种,这应该可以指定某些地图下暂停不执行,就是改成这样:

RUBY 代码复制
  1. class Scene_Base
  2.   @ck_map_id = [1,3,6] #不要执行暂停的地图
  3.   include U0_Pause_module
  4.   alias u0_pause_update update
  5.   def update
  6.     return if @ck_map_id.include?($game_map.map_id) #如果 @ck_map_id 中有地图 id 就返回不执行下面的命令
  7.     if Input.trigger?(PAUSE_BUTTON2) && $game_switches[24] != true
  8.       frame = Graphics.frame_count
  9.       stopping
  10.       if TIME_STOP
  11.         Graphics.frame_count = frame
  12.       end
  13.     end
  14.   u0_pause_update
  15.   end
修改劇本中,仔細審查原來的劇情大綱,覺得有點不太滿意,嘗試編寫不同主角不同主線的劇情,希望能寫得出來。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-7-20 17:03

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表