Project1

标题: 脚本问题 [打印本页]

作者: 9244579    时间: 2008-2-11 17:47
标题: 脚本问题
在脚本中自己弄个
class scene_XXX
do_something
end
为什么背景总是黑的,可以改为透明不?
[LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 沉影不器    时间: 2008-2-11 17:52
提示: 作者被禁止或删除 内容自动屏蔽
作者: 9244579    时间: 2008-2-11 18:23
那我弄一个透明的窗口放到 里面,在改下透明度为0 就可以了?
作者: 9244579    时间: 2008-2-11 18:42
还西不行!!!
本来我弄2个命令窗口。
然后背景是透明的,怎么弄?
作者: ONEWateR    时间: 2008-2-11 19:15
这个
  1. #==============================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #==============================================================================


  4. #==============================================================================
  5. # ■ Window_Base
  6. #==============================================================================
  7. class Window_Base < Window
  8.   alias xrxs_mp7_initialize initialize
  9.   def initialize(x, y, width, height)
  10.     xrxs_mp7_initialize(x, y, width, height)
  11.     if $scene.is_a?(Scene_Menu) or
  12.        $scene.is_a?(Scene_Item) or
  13.        $scene.is_a?(Scene_Skill) or
  14.        $scene.is_a?(Scene_Equip) or
  15.        $scene.is_a?(Scene_Status) or
  16.        $scene.is_a?(Scene_Save) or
  17.        $scene.is_a?(Scene_End)
  18.       self.back_opacity = 160  #————这个数值可调,为透明程度
  19.     end
  20.   end
  21. end
  22. module XRXS_MP7_Module
  23.   def create_spriteset
  24.     @spriteset = Spriteset_Map.new
  25.   end
  26.   def dispose_spriteset
  27.     @spriteset.dispose
  28.   end
  29. end
  30. class Scene_Menu
  31.   include XRXS_MP7_Module
  32.   alias xrxs_mp7_main main
  33.   def main
  34.     create_spriteset
  35.     xrxs_mp7_main
  36.     dispose_spriteset
  37.   end
  38. end
  39. class Scene_Item
  40.   include XRXS_MP7_Module
  41.   alias xrxs_mp7_main main
  42.   def main
  43.     create_spriteset
  44.     xrxs_mp7_main
  45.     dispose_spriteset
  46.   end
  47. end
  48. class Scene_Skill
  49.   include XRXS_MP7_Module
  50.   alias xrxs_mp7_main main
  51.   def main
  52.     create_spriteset
  53.     xrxs_mp7_main
  54.     dispose_spriteset
  55.   end
  56. end
  57. class Scene_Equip
  58.   include XRXS_MP7_Module
  59.   alias xrxs_mp7_main main
  60.   def main
  61.     create_spriteset
  62.     xrxs_mp7_main
  63.     dispose_spriteset
  64.   end
  65. end
  66. class Scene_Status
  67.   include XRXS_MP7_Module
  68.   alias xrxs_mp7_main main
  69.   def main
  70.     create_spriteset
  71.     xrxs_mp7_main
  72.     dispose_spriteset
  73.   end
  74. end
  75. class Scene_Save
  76.   include XRXS_MP7_Module
  77.   alias xrxs_mp7_main main
  78.   def main
  79.     create_spriteset
  80.     xrxs_mp7_main
  81.     dispose_spriteset
  82.   end
  83. end
  84. class Scene_End
  85.   include XRXS_MP7_Module
  86.   alias xrxs_mp7_main main
  87.   def main
  88.     create_spriteset
  89.     xrxs_mp7_main
  90.     dispose_spriteset
  91.   end
  92. end

  93. #==============================================================================
  94. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  95. #==============================================================================
复制代码

在后面一行添加
class Scene_XXX
  include XRXS_MP7_Module
  alias xrxs_mp7_main main
  def main
    create_spriteset
    xrxs_mp7_main
    dispose_spriteset
  end
end

作者: IamI    时间: 2008-2-11 19:17
LS我想就不用把整个系统菜单改了吧= =留下Base那一段就足够了
作者: ONEWateR    时间: 2008-2-11 19:27
以下引用IamI于2008-2-11 11:17:49的发言:

LS我想就不用把整个系统菜单改了吧= =留下Base那一段就足够了


{/gg}惭愧!本人刚刚起床,尚未清醒过来!实是惭愧!
作者: 9244579    时间: 2008-2-11 20:21
  不行哦,你说的还差一点把,还要在前面加上
     $scene.is_a?(Scene_Type)
class Scene_Type
  include XRXS_MP7_Module   
  alias xrxs_mp7_main main 这里出错了!
  def main
    create_spriteset
    xrxs_mp7_main
    dispose_spriteset
  end
end
作者: 血色№涟漪    时间: 2008-2-11 20:33
提示: 作者被禁止或删除 内容自动屏蔽
作者: 9244579    时间: 2008-2-11 20:54
  有MAIN
作者: 9244579    时间: 2008-2-11 21:04
有的main 还是那句出错
class Scene_Type
include XRXS_MP7_Module   
alias xrxs_mp7_main :main

def main
  create_spriteset
  xrxs_mp7_main
  dispose_spriteset
end
end
作者: IamI    时间: 2008-2-11 21:09
首先添加oneWater的脚本,再把你自己的Scene_Type写完整(在添加的脚本之后),之前的东西不要管他,写完了以后,在后面再加入(最后面,对应class的end后面)
class Scene_Type
include XRXS_MP7_Module
alias xrxs_mp7_main main
def main
   create_spriteset
   xrxs_mp7_main
   dispose_spriteset
end
end

作者: 血色№涟漪    时间: 2008-2-11 21:11
提示: 作者被禁止或删除 内容自动屏蔽
作者: 9244579    时间: 2008-2-11 21:57
#==============================================================================
# ■ Scene_Type
#------------------------------------------------------------------------------
#  处理查看画面的类。
#==============================================================================

class Scene_Type
  #--------------------------------------------------------------------------
  # ● 主处理
  #--------------------------------------------------------------------------
  def main
    # 生成命令窗口
    s1 = "查看装备"
    s2 = "查看状态"
    @command_window = Window_Command.new(192, [s1, s2])
    @command_window.x = 320 - @command_window.width / 2
    @command_window.y = 240 - @command_window.height / 2
    # 执行过渡
    Graphics.transition
    # 主循环
    loop do
      # 刷新游戏画面
      Graphics.update
      # 刷新输入情报
      Input.update
      # 刷新画面
      update
      # 如果画面切换的话就中断循环
      if $scene != self
        break
      end
    end
    # 准备过渡
    Graphics.freeze
    # 释放窗口
    @command_window.dispose
    # 如果在标题画面切换中的情况下
    if $scene.is_a?(Scene_Title)
      # 淡入淡出画面
      Graphics.transition
      Graphics.freeze
    end
  end
  #--------------------------------------------------------------------------
  # ● 刷新画面
  #--------------------------------------------------------------------------
  def update
    # 刷新命令窗口
    @command_window.update
    # 按下 B 键的情况下
    if Input.trigger?(Input::B)
      # 演奏取消 SE
      $game_system.se_play($data_system.cancel_se)
      # 切换到菜单画面
      $scene = Scene_Menu.new(5)
      return
    end
    # 按下 C 键的场合下
    if Input.trigger?(Input::C)
      # 命令窗口光标位置分支
      case @command_window.index
      when 0  # 返回标题画面
        command_to_title
      when 1  # 退出
        command_shutdown
      end
      return
    end
  end
  #--------------------------------------------------------------------------
  # ● 选择命令 [返回标题画面] 时的处理
  #--------------------------------------------------------------------------
  def command_to_title
    # 演奏确定 SE
    $game_system.se_play($data_system.decision_se)
    # 淡入淡出 BGM、BGS、ME
    Audio.bgm_fade(800)
    Audio.bgs_fade(800)
    Audio.me_fade(800)
    # 切换到标题画面
    $scene = Scene_Title.new
  end
  #--------------------------------------------------------------------------
  # ● 选择命令 [退出] 时的处理
  #--------------------------------------------------------------------------
  def command_shutdown
    # 演奏确定 SE
    $game_system.se_play($data_system.decision_se)
    # 淡入淡出 BGM、BGS、ME
    Audio.bgm_fade(800)
    Audio.bgs_fade(800)
    Audio.me_fade(800)
    # 退出
    $scene = nil
  end
  #--------------------------------------------------------------------------
  # ● 选择命令 [取消] 时的处理
  #--------------------------------------------------------------------------
  def command_cancel
    # 演奏确定 SE
    $game_system.se_play($data_system.decision_se)
    # 切换到菜单画面
    $scene = Scene_Menu.new(5)
  end
end

作者: 9244579    时间: 2008-2-11 21:58
下面的按妞情况还没做,,,只是背景还没透明,所以还没做
作者: IamI    时间: 2008-2-11 22:09
我来理解一下LZ的意思:LZ是说,希望在调用这个Scene的时候,还能半透明的看见地图~是这个意思吗?
作者: IamI    时间: 2008-2-11 22:14
篡改完毕= =请注意加####的3行字


  1. #==============================================================================
  2. # ■ Scene_Type
  3. #------------------------------------------------------------------------------
  4. #  处理查看画面的类。
  5. #==============================================================================

  6. class Scene_Type
  7. #--------------------------------------------------------------------------
  8. # ● 主处理
  9. #--------------------------------------------------------------------------
  10. def main
  11.    ##################################
  12.    @spriteset = Spriteset_Map.new
  13.    ##################################
  14.    # 生成命令窗口
  15.    s1 = "查看装备"
  16.    s2 = "查看状态"
  17.    @command_window = Window_Command.new(192, [s1, s2])
  18.    @command_window.x = 320 - @command_window.width / 2
  19.    @command_window.y = 240 - @command_window.height / 2
  20.    ############################################
  21.    @command_window.back_opacity = 160 #160是透明度
  22.    ###########################################
  23.    # 执行过渡
  24.    Graphics.transition
  25.    # 主循环
  26.    loop do
  27.      # 刷新游戏画面
  28.      Graphics.update
  29.      # 刷新输入情报
  30.      Input.update
  31.      # 刷新画面
  32.      update
  33.      # 如果画面切换的话就中断循环
  34.      if $scene != self
  35.        break
  36.      end
  37.    end
  38.    # 准备过渡
  39.    Graphics.freeze
  40.    # 释放窗口
  41.    @command_window.dispose
  42.    ##################################
  43.     @spriteset.dispose
  44.    #################################
  45.    # 如果在标题画面切换中的情况下
  46.    if $scene.is_a?(Scene_Title)
  47.      # 淡入淡出画面
  48.      Graphics.transition
  49.      Graphics.freeze
  50.    end
  51. end
  52. #--------------------------------------------------------------------------
  53. # ● 刷新画面
  54. #--------------------------------------------------------------------------
  55. def update
  56.    # 刷新命令窗口
  57.    @command_window.update
  58.    # 按下 B 键的情况下
  59.    if Input.trigger?(Input::B)
  60.      # 演奏取消 SE
  61.      $game_system.se_play($data_system.cancel_se)
  62.      # 切换到菜单画面
  63.      $scene = Scene_Menu.new(5)
  64.      return
  65.    end
  66.    # 按下 C 键的场合下
  67.    if Input.trigger?(Input::C)
  68.      # 命令窗口光标位置分支
  69.      case @command_window.index
  70.      when 0  # 返回标题画面
  71.        command_to_title
  72.      when 1  # 退出
  73.        command_shutdown
  74.      end
  75.      return
  76.    end
  77. end
  78. #--------------------------------------------------------------------------
  79. # ● 选择命令 [返回标题画面] 时的处理
  80. #--------------------------------------------------------------------------
  81. def command_to_title
  82.    # 演奏确定 SE
  83.    $game_system.se_play($data_system.decision_se)
  84.    # 淡入淡出 BGM、BGS、ME
  85.    Audio.bgm_fade(800)
  86.    Audio.bgs_fade(800)
  87.    Audio.me_fade(800)
  88.    # 切换到标题画面
  89.    $scene = Scene_Title.new
  90. end
  91. #--------------------------------------------------------------------------
  92. # ● 选择命令 [退出] 时的处理
  93. #--------------------------------------------------------------------------
  94. def command_shutdown
  95.    # 演奏确定 SE
  96.    $game_system.se_play($data_system.decision_se)
  97.    # 淡入淡出 BGM、BGS、ME
  98.    Audio.bgm_fade(800)
  99.    Audio.bgs_fade(800)
  100.    Audio.me_fade(800)
  101.    # 退出
  102.    $scene = nil
  103. end
  104. #--------------------------------------------------------------------------
  105. # ● 选择命令 [取消] 时的处理
  106. #--------------------------------------------------------------------------
  107. def command_cancel
  108.    # 演奏确定 SE
  109.    $game_system.se_play($data_system.decision_se)
  110.    # 切换到菜单画面
  111.    $scene = Scene_Menu.new(5)
  112. end
  113. end
复制代码
[LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 9244579    时间: 2008-2-11 22:19
对!!!
作者: 9244579    时间: 2008-2-11 22:22
good  谢谢上楼!答案认可!




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