Project1

标题: 菜单背景图 [打印本页]

作者: 希尔密璘    时间: 2014-6-22 16:00
标题: 菜单背景图
想向各位请教一下,我把菜单加上背景图,图片空白的地方已经弄透明了,为什么会显示黑黑的?怎样才能显示地图?

作者: 紫苍焰    时间: 2014-6-22 16:20
……
直接把地图P成背景图然后让菜单显示背景图试试看?
作者: 希尔密璘    时间: 2014-6-22 16:25
懒De说 发表于 2014-6-22 16:16
插入这个脚本试试

还是一样的说。。。
作者: 懒De说    时间: 2014-6-22 16:26
本帖最后由 懒De说 于 2014-6-22 16:36 编辑
希尔密璘 发表于 2014-6-22 16:25
还是一样的说。。。


怎么会,你不是插入的背景图吗,周围也是扣掉了吗?

没有问题啊,要不然把你的工程给我,我帮你看看
作者: taroxd    时间: 2014-6-22 16:26
希尔密璘 发表于 2014-6-22 16:25
还是一样的说。。。


因为你没有把地图场景作为背景

地图背景的bitmap 可以通过 SceneManager.background_bitmap 获取

请参考 Scene_MenuBase#create_background 的写法

我不知道你用了什么脚本,所以无法直接给你脚本的解答。
作者: 希尔密璘    时间: 2014-6-22 16:43
taroxd 发表于 2014-6-22 16:26
因为你没有把地图场景作为背景

地图背景的bitmap 可以通过 SceneManager.background_bitmap 获取

我就是在这里加了背景图,所以地图背景没了。。。==
作者: 懒De说    时间: 2014-6-22 16:46
希尔密璘 发表于 2014-6-22 16:43
我就是在这里加了背景图,所以地图背景没了。。。==

如果,你只是添加的图片作为背景还是可以显示地图的,请贴出你的菜单脚本,方便帮助你解决问题

作者: 希尔密璘    时间: 2014-6-22 16:55
懒De说 发表于 2014-6-22 16:46
如果,你只是添加的图片作为背景还是可以显示地图的,请贴出你的菜单脚本,方便帮助你解决问题
...

我在“生成背景”那边改成手机图。


RUBY 代码复制
  1. #encoding:utf-8
  2. #==============================================================================
  3. # ■ Scene_MenuBase
  4. #------------------------------------------------------------------------------
  5. #  所有菜单画面的基本处理
  6. #==============================================================================
  7.  
  8. class Scene_MenuBase < Scene_Base
  9.   #--------------------------------------------------------------------------
  10.   # ● 开始处理
  11.   #--------------------------------------------------------------------------
  12.   def start
  13.     super
  14.     create_background
  15.  
  16.     @actor = $game_party.menu_actor
  17.  
  18.   end
  19.   #--------------------------------------------------------------------------
  20.   # ● 结束处理
  21.   #--------------------------------------------------------------------------
  22.   def terminate
  23.     super
  24.     #dispose_background
  25.     create_background
  26.   end
  27.   #--------------------------------------------------------------------------
  28.   # ● 生成背景
  29.   #--------------------------------------------------------------------------
  30.   def create_background
  31.  
  32.     @background_sprite = Sprite.new
  33.     @background_sprite.bitmap = Cache.title1("Menu_Back1")
  34.     @background_sprite.color.set(0, 0, 0, 0)
  35.   end
  36.  
  37.   #--------------------------------------------------------------------------
  38.   # ● 释放背景
  39.   #--------------------------------------------------------------------------
  40. def dispose_background
  41.    @background_sprite.dispose
  42.   end
  43.   #--------------------------------------------------------------------------
  44.   # ● 生成帮助窗口
  45.   #--------------------------------------------------------------------------
  46.   def create_help_window
  47.     @help_window = Window_Help.new
  48.     @help_window.viewport = @viewport
  49.   end
  50.   #--------------------------------------------------------------------------
  51.   # ● 切换到下一个角色
  52.   #--------------------------------------------------------------------------
  53.   def next_actor
  54.     @actor = $game_party.menu_actor_next
  55.     on_actor_change
  56.   end
  57.   #--------------------------------------------------------------------------
  58.   # ● 切换到上一个角色
  59.   #--------------------------------------------------------------------------
  60.   def prev_actor
  61.     @actor = $game_party.menu_actor_prev
  62.     on_actor_change
  63.   end
  64.   #--------------------------------------------------------------------------
  65.   # ● 切换角色
  66.   #--------------------------------------------------------------------------
  67.   def on_actor_change
  68.   end
  69. end

作者: taroxd    时间: 2014-6-22 17:06
希尔密璘 发表于 2014-6-22 16:55
我在“生成背景”那边改成手机图。


你改掉的东西,就是原来地图的背景……
还想要的话,就加回去吧……

还有你在结束的时候不dispose反而create是闹哪样啊?
作者: 余烬之中    时间: 2014-6-22 17:08
本帖最后由 余烬之中 于 2014-6-22 17:10 编辑

把那一段改成
RUBY 代码复制
  1. def create_background
  2.   @background_sprite = Sprite.new
  3.   @background_sprite.bitmap = SceneManager.background_bitmap
  4.   @background_sprite.color.set(16, 16, 16, 128)
  5.   @background_sprite.bitmap.blt(0, 0, Cache.system("你的文件名"),
  6.   Rect.new(0, 0, Graphics.width, Graphics.height))
  7. end


另外不要改terminate方法 把它改回来
作者: 懒De说    时间: 2014-6-22 17:16
本帖最后由 懒De说 于 2014-6-22 17:17 编辑


我把原本的和透明写到一起了,附带效果图
RUBY 代码复制
  1. #encoding:utf-8
  2. #==============================================================================
  3. # ■ Scene_MenuBase
  4. #------------------------------------------------------------------------------
  5. #  所有菜单画面的基本处理
  6. #==============================================================================
  7.  
  8. class Scene_MenuBase < Scene_Base
  9.   #--------------------------------------------------------------------------
  10.   # ● 开始处理
  11.   #--------------------------------------------------------------------------
  12.   def start
  13.     super
  14.     create_background
  15.     @actor = $game_party.menu_actor
  16.   end
  17.   #--------------------------------------------------------------------------
  18.   # ● 结束处理
  19.   #--------------------------------------------------------------------------
  20.   def terminate
  21.     super
  22.     dispose_background
  23.   end
  24.   #--------------------------------------------------------------------------
  25.   # ● 生成背景
  26.   #--------------------------------------------------------------------------
  27.   def create_background
  28.     @background_sprite = Sprite.new
  29.     @background_sprite.bitmap = SceneManager.background_bitmap
  30.     @background_sprite.color.set(16, 16, 16, 128)
  31.  
  32.     @background_sprite1 = Sprite.new
  33.     @background_sprite1.bitmap = Cache.title1("Menu_Back1")
  34.     @background_sprite1.color.set(0, 0, 0, 0)
  35.   end
  36.   #--------------------------------------------------------------------------
  37.   # ● 释放背景
  38.   #--------------------------------------------------------------------------
  39.   def dispose_background
  40. @background_sprite.dispose
  41.   end
  42.   #--------------------------------------------------------------------------
  43.   # ● 生成帮助窗口
  44.   #--------------------------------------------------------------------------
  45.   def create_help_window
  46.     @help_window = Window_Help.new
  47.     @help_window.viewport = @viewport
  48.   end
  49.   #--------------------------------------------------------------------------
  50.   # ● 切换到下一个角色
  51.   #--------------------------------------------------------------------------
  52.   def next_actor
  53.     @actor = $game_party.menu_actor_next
  54.     on_actor_change
  55.   end
  56.   #--------------------------------------------------------------------------
  57.   # ● 切换到上一个角色
  58.   #--------------------------------------------------------------------------
  59.   def prev_actor
  60.     @actor = $game_party.menu_actor_prev
  61.     on_actor_change
  62.   end
  63.   #--------------------------------------------------------------------------
  64.   # ● 切换角色
  65.   #--------------------------------------------------------------------------
  66.   def on_actor_change
  67.   end
  68. end
  69.  
  70. class Window_Gold
  71.   alias m5_20140331_initialize initialize
  72.   def initialize
  73.     m5_20140331_initialize
  74.     self.opacity = 0 if SceneManager.scene_is?(Scene_Menu)   
  75.   end
  76. end
  77. class Window_MenuStatus
  78.   alias m5_20140331_initialize initialize
  79.   def initialize(x, y)
  80.     m5_20140331_initialize(x, y)
  81.     self.opacity = 0
  82.   end
  83. end
  84. class Window_MenuCommand
  85.   alias m5_20140331_initialize initialize
  86.   def initialize
  87.     m5_20140331_initialize
  88.     self.opacity = 0
  89.   end
  90. end

作者: 希尔密璘    时间: 2014-6-22 17:17
谢谢,给大家添麻烦了,已经ok了~




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