Project1

标题: 怎么让合成系统的合成画面变得半透明 [打印本页]

作者: 挖掉你的心    时间: 2008-5-25 04:36
标题: 怎么让合成系统的合成画面变得半透明
如题
自己试着弄了一下...可就是不会 -_-|| [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 禾西    时间: 2008-5-25 07:47
在某個帶有 Window_XXX 的class 下的def initialize 方法裏面添加
self.opacity = ??? [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: Calathus    时间: 2008-5-25 16:41
可以在合成系统处理画面的类,主处理开头添加一句:

    # 场景地图
    $screen = Spriteset_Map.new

但这类内容不可过多使用,不然会影响游戏自身速度.
如果你还想让别的什么什么菜单(处理画面的类)变半透明的话,我建议你用半透明菜单:
=
class Window_Base < Window
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
alias xrxs_mp7_initialize initialize
def initialize(x, y, width, height)
  xrxs_mp7_initialize(x, y, width, height)
  if $scene.is_a?(Scene_Menu) or
    $scene.is_a?(Scene_Item) or
    $scene.is_a?(Scene_Skill) or
    $scene.is_a?(Scene_Equip) or
    $scene.is_a?(Scene_Status) or
    $scene.is_a?(Scene_Save) or
    $scene.is_a?(Scene_End)
    self.back_opacity = 160
  end
end
end
#==============================================================================
# ■ スプライトセット作成のミックスインモジュール
#==============================================================================
module XRXS_MP7_Module
def create_spriteset
  # スプライトセットを作成
  @spriteset = Spriteset_Map.new
end
def dispose_spriteset
  # スプライトセットを解放
  @spriteset.dispose
end
end
#==============================================================================
# ■ Scene_Menu
#==============================================================================
class Scene_Menu
include XRXS_MP7_Module
#--------------------------------------------------------------------------
# ● メイン処理
#--------------------------------------------------------------------------
alias xrxs_mp7_main main
def main
  create_spriteset
  xrxs_mp7_main
  dispose_spriteset
end
end
#==============================================================================
# ■ Scene_Item
#==============================================================================
class Scene_Item
include XRXS_MP7_Module
#--------------------------------------------------------------------------
# ● メイン処理
#--------------------------------------------------------------------------
alias xrxs_mp7_main main
def main
  create_spriteset
  xrxs_mp7_main
  dispose_spriteset
end
end
#==============================================================================
# ■ Scene_Skill
#==============================================================================
class Scene_Skill
include XRXS_MP7_Module
#--------------------------------------------------------------------------
# ● メイン処理
#--------------------------------------------------------------------------
alias xrxs_mp7_main main
def main
  create_spriteset
  xrxs_mp7_main
  dispose_spriteset
end
end
#==============================================================================
# ■ Scene_Equip
#==============================================================================
class Scene_Equip
include XRXS_MP7_Module
#--------------------------------------------------------------------------
# ● メイン処理
#--------------------------------------------------------------------------
alias xrxs_mp7_main main
def main
  create_spriteset
  xrxs_mp7_main
  dispose_spriteset
end
end
#==============================================================================
# ■ Scene_Status
#==============================================================================
class Scene_Status
include XRXS_MP7_Module
#--------------------------------------------------------------------------
# ● メイン処理
#--------------------------------------------------------------------------
alias xrxs_mp7_main main
def main
  create_spriteset
  xrxs_mp7_main
  dispose_spriteset
end
end
#==============================================================================
# ■ Scene_Save
#==============================================================================
class Scene_Save
include XRXS_MP7_Module
#--------------------------------------------------------------------------
# ● メイン処理
#--------------------------------------------------------------------------
alias xrxs_mp7_main main
def main
  create_spriteset
  xrxs_mp7_main
  dispose_spriteset
end
end
#==============================================================================
# ■ Scene_End
#==============================================================================
class Scene_End
include XRXS_MP7_Module
#--------------------------------------------------------------------------
# ● メイン処理
#--------------------------------------------------------------------------
alias xrxs_mp7_main main
def main
  create_spriteset
  xrxs_mp7_main
  dispose_spriteset
end
end

同样的,也会影响游戏自身速度..
作者: 禾西    时间: 2008-5-25 16:53
同學,需要在父類裏面改嗎 Orz

一個可以在自身的initialize下面單獨修變(如同我上帖)

另一個可以在調用後,也就是指定的Scene裏面調用

窗口變量.back_opacity =
or
窗口變量.opacity =
改啊|||修改父類是很不智的行爲...
作者: havealook    时间: 2008-5-25 18:57
其实咧,光修改self.opacity是不行的,还要透过菜单看到地图。话说还要建立个模块。。
话说LZ可以参考下这个帖子:
http://rpg.blue/viewthread.php?tid=87077
以及这个半透明菜单的脚本:
http://rpg.blue/web/htm/news144.htm

作者: wangqiuwazi    时间: 2008-5-25 20:56
提示: 作者被禁止或删除 内容自动屏蔽
作者: 禾西    时间: 2008-5-25 21:31
以下引用wangqiuwazi于2008-5-25 12:56:31的发言:

大哥,游戏速度影响了怎么办啊,可以解决吗????

沒有影響多少...放心




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