Project1

标题: 用了菜单窗口问题 [打印本页]

作者: lmjs    时间: 2012-9-6 14:35
标题: 用了菜单窗口问题
本帖最后由 lmjs 于 2012-9-7 20:55 编辑

  请教一下,本人用了图片做菜单之后出了一个问题, 就是物品、技能的帮助项显示不出来。

   如下图所示:

  
  [attach]133855[/attach]

   有什么办法可以解决下!

作者: 黑崎一护    时间: 2012-9-6 14:53
本帖最后由 黑崎一护 于 2012-9-6 15:38 编辑

把显示图片的代码放在显示信息的代码之前试试,就是换个位置的意思....

代码行:......(显示帮助文章信息)

代码行:......(显示图片)

把他们的位置调换一下试试....


上面错了,多谢P叔提醒,楼主改的那个脚本找到下面这行:

@menuback_sprite.z = 0

不是0就改成0,一般会是2000什么的数字....

作者: lmjs    时间: 2012-9-6 15:57
我这好像没@menuback_sprite.z = 0
我就是直接在物品脚本,加入一个图而以,
结果图片把帮助的文字显示项挡住了,怎么修改啊,
  1. #==============================================================================
  2. # ■ Scene_Item
  3. #------------------------------------------------------------------------------
  4. #  处理物品画面的类。
  5. #==============================================================================

  6. class Scene_Item < Scene_Base
  7.   #--------------------------------------------------------------------------
  8.   # ● 开始处理
  9.   #--------------------------------------------------------------------------
  10.   def start
  11.     super
  12.     create_menu_background
  13.    
  14.     @sprite = Sprite.new
  15.     @sprite.bitmap = Cache.system("物品")
  16.    
  17.     @viewport = Viewport.new(0, 0, 544, 416)
  18.     @help_window = Window_Help.new
  19.     @help_window.viewport = @viewport
  20.     @item_window = Window_Item.new(0, 56, 544, 360)
  21.     @item_window.viewport = @viewport
  22.     @item_window.help_window = @help_window
  23.     @item_window.active = false
  24.     @target_window = Window_MenuStatus.new(0, 0)
  25.     hide_target_window
  26.   end
  27.   #--------------------------------------------------------------------------
  28.   # ● 结束处理
  29.   #--------------------------------------------------------------------------
  30.   def terminate
  31.     super
  32.     dispose_menu_background
  33.    
  34.     @sprite.bitmap.dispose
  35.    
  36.     @viewport.dispose
  37.     @help_window.dispose
  38.     @item_window.dispose
  39.     @target_window.dispose
  40.   end
  41.   #--------------------------------------------------------------------------
  42.   # ● 回到原画面
  43.   #--------------------------------------------------------------------------
  44.   def return_scene
  45.     $scene = Scene_Menu.new(0)
  46.   end
  47.   #--------------------------------------------------------------------------
  48.   # ● 更新画面
  49.   #--------------------------------------------------------------------------
  50.   def update
  51.     super
  52.     update_menu_background
  53.     @help_window.update
  54.     @item_window.update
  55.     @target_window.update
  56.     if @item_window.active
  57.       update_item_selection
  58.     elsif @target_window.active
  59.       update_target_selection
  60.     end
  61.   end
  62.   #--------------------------------------------------------------------------
  63.   # ● 更新物品选择
  64.   #--------------------------------------------------------------------------
  65.   def update_item_selection
  66.     if Input.trigger?(Input::B)
  67.       Sound.play_cancel
  68.       return_scene
  69.     elsif Input.trigger?(Input::C)
  70.       @item = @item_window.item
  71.       if @item != nil
  72.         $game_party.last_item_id = @item.id
  73.       end
  74.       if $game_party.item_can_use?(@item)
  75.         Sound.play_decision
  76.         determine_item
  77.       else
  78.         Sound.play_buzzer
  79.       end
  80.     end
  81.   end
  82.   #--------------------------------------------------------------------------
  83.   # ● 确认物品
  84.   #--------------------------------------------------------------------------
  85.   def determine_item
  86.     if @item.for_friend?
  87.       show_target_window(@item_window.index % 2 == 0)
  88.       if @item.for_all?
  89.         @target_window.index = 99
  90.       else
  91.         if $game_party.last_target_index < @target_window.item_max
  92.           @target_window.index = $game_party.last_target_index
  93.         else
  94.           @target_window.index = 0
  95.         end
  96.       end
  97.     else
  98.       use_item_nontarget
  99.     end
  100.   end
  101.   #--------------------------------------------------------------------------
  102.   # ● 更新目标选择
  103.   #--------------------------------------------------------------------------
  104.   def update_target_selection
  105.     if Input.trigger?(Input::B)
  106.       Sound.play_cancel
  107.       if $game_party.item_number(@item) == 0    # 判断物品是否耗尽
  108.         @item_window.refresh                    # 刷新窗口内容
  109.       end
  110.       hide_target_window
  111.     elsif Input.trigger?(Input::C)
  112.       if not $game_party.item_can_use?(@item)
  113.         Sound.play_buzzer
  114.       else
  115.         determine_target
  116.       end
  117.     end
  118.   end
  119.   #--------------------------------------------------------------------------
  120.   # ● 确认目标
  121.   #    目标无效时(如对无法战斗的角色使用回复药水)则播放冻结SE。
  122.   #--------------------------------------------------------------------------
  123.   def determine_target
  124.     used = false
  125.     if @item.for_all?
  126.       for target in $game_party.members
  127.         target.item_effect(target, @item)
  128.         used = true unless target.skipped
  129.       end
  130.     else
  131.       $game_party.last_target_index = @target_window.index
  132.       target = $game_party.members[@target_window.index]
  133.       target.item_effect(target, @item)
  134.       used = true unless target.skipped
  135.     end
  136.     if used
  137.       use_item_nontarget
  138.     else
  139.       Sound.play_buzzer
  140.     end
  141.   end
  142.   #--------------------------------------------------------------------------
  143.   # ● 显示目标窗口
  144.   #     right : 靠又对齐标签(为false时则靠左)
  145.   #--------------------------------------------------------------------------
  146.   def show_target_window(right)
  147.     @item_window.active = false
  148.     width_remain = 544 - @target_window.width
  149.     @target_window.x = right ? width_remain : 0
  150.     @target_window.visible = true
  151.     @target_window.active = true
  152.     if right
  153.       @viewport.rect.set(0, 0, width_remain, 416)
  154.       @viewport.ox = 0
  155.     else
  156.       @viewport.rect.set(@target_window.width, 0, width_remain, 416)
  157.       @viewport.ox = @target_window.width
  158.     end
  159.   end
  160.   #--------------------------------------------------------------------------
  161.   # ● 隐藏目标窗口
  162.   #--------------------------------------------------------------------------
  163.   def hide_target_window
  164.     @item_window.active = true
  165.     @target_window.visible = false
  166.     @target_window.active = false
  167.     @viewport.rect.set(0, 0, 544, 416)
  168.     @viewport.ox = 0
  169.   end
  170.   #--------------------------------------------------------------------------
  171.   # ● 非同伴目标使用物品
  172.   #--------------------------------------------------------------------------
  173.   def use_item_nontarget
  174.     Sound.play_use_item
  175.     $game_party.consume_item(@item)
  176.     @item_window.draw_item(@item_window.index)
  177.     @target_window.refresh
  178.     if $game_party.all_dead?
  179.       $scene = Scene_Gameover.new
  180.     elsif @item.common_event_id > 0
  181.       $game_temp.common_event_id = @item.common_event_id
  182.       $scene = Scene_Map.new
  183.     end
  184.   end
  185. end
复制代码

作者: 怪蜀黍    时间: 2012-9-6 16:42
不好意思,用了你的脚本,我的帮助窗口照样可以正常显示:

作者: Password    时间: 2012-9-6 16:44
会不会是使用的窗口问题?(System文件夹里的Window)
还是你根本就没有设置注释?
作者: Luciffer    时间: 2012-9-6 18:26
1.也许是字体问题。
2.出问题的可能是详尽帮助之类的其他脚本。
作者: satgo1546    时间: 2012-9-6 18:52
我认为是其他脚本的……或者windowskin。
我猜你直接用了一张空白的windowskin(128*128,全透明)的PNG
所以会导致……

不对啊,为什么下面显示出来,上面没显示?
而且LZ用的应该是黑体,
LZ应该把其他脚本什么也发上来吧……
作者: lmjs    时间: 2012-9-7 12:56
本帖最后由 lmjs 于 2012-9-7 12:57 编辑

问题已经解决了,问题还是出在 Window_Help项,

未命名.jpg (90.15 KB, 下载次数: 26)

未命名.jpg





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