查看: 2552|回复: 3

[已经解决] 想製作這樣的菜單樣式

[复制链接]
梦石
0
星屑
50
在线时间
53 小时
注册时间
2013-2-16
回帖
13
发表于 2013-10-24 18:33:29 | 显示全部楼层 |阅读模式

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

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

×
如圖

ADF.png


菜單放到底下

只剩下物品和結束遊戲兩種

最左邊有領隊頭像

其餘就和默認一樣

我只會把選項刪到只剩下物品和結束遊戲

其他的不知道該怎麼做

還請各位替小弟解惑

感激不盡!!

百合控

梦石
0
星屑
6548
在线时间
1275 小时
注册时间
2013-8-21
回帖
3522

开拓者

发表于 2013-10-24 20:42:54 | 显示全部楼层
本帖最后由 余烬之中 于 2013-10-24 20:46 编辑

效果图:
E.jpg
方法:
打开脚本编辑器
找到这个:
001.jpg
在其中进行如下改正:
002.jpg
003.jpg
004.jpg
005.jpg
006.jpg
007.jpg
然后再找到这个
008.jpg
改
009.jpg
010.jpg
011.jpg
完成
完成代码:
Window_MenuCommand
一定要替换原来的而不是插入到原来的之下
也就是说 把原来的删掉 把这个插入
[pre lang="ruby" line="1"]#encoding:utf-8
#==============================================================================
# ■ Window_MenuCommand
#------------------------------------------------------------------------------
#  菜单画面中显示指令的窗口
#==============================================================================

class Window_MenuCommand < Window_HorzCommand
  #--------------------------------------------------------------------------
  # ● 初始化指令选择位置(类方法)
  #--------------------------------------------------------------------------
  def self.init_command_position
    @@last_command_symbol = nil
  end
  #--------------------------------------------------------------------------
  # ● 初始化对象
  #--------------------------------------------------------------------------
  def initialize
    super(96 + 16, Graphics.height - 50)
    select_last
  end
  #--------------------------------------------------------------------------
  # ● 获取窗口的宽度
  #--------------------------------------------------------------------------
  def window_width
    return Graphics.width - 96 - 16
  end
  #--------------------------------------------------------------------------
  # ● 获取显示行数
  #--------------------------------------------------------------------------
  def visible_line_number
    1
  end
  #--------------------------------------------------------------------------
  # ● 生成指令列表
  #--------------------------------------------------------------------------
  def make_command_list
    add_main_commands
    add_formation_command
    add_original_commands
    add_save_command
    add_game_end_command
  end
  #--------------------------------------------------------------------------
  # ● 向指令列表添加主要的指令
  #--------------------------------------------------------------------------
  def add_main_commands
    add_command(Vocab::item,   :item,   main_commands_enabled)
#~     add_command(Vocab::skill,  :skill,  main_commands_enabled)
#~     add_command(Vocab::equip,  :equip,  main_commands_enabled)
#~     add_command(Vocab::status, :status, main_commands_enabled)
  end
  #--------------------------------------------------------------------------
  # ● 添加整队指令
  #--------------------------------------------------------------------------
  def add_formation_command
#~     add_command(Vocab::formation, :formation, formation_enabled)
  end
  #--------------------------------------------------------------------------
  # ● 独自添加指令用
  #--------------------------------------------------------------------------
  def add_original_commands
  end
  #--------------------------------------------------------------------------
  # ● 添加存档指令
  #--------------------------------------------------------------------------
  def add_save_command
#~     add_command(Vocab::save, :save, save_enabled)
  end
  #--------------------------------------------------------------------------
  # ● 添加游戏结束指令
  #--------------------------------------------------------------------------
  def add_game_end_command
    add_command(Vocab::game_end, :game_end)
  end
  #--------------------------------------------------------------------------
  # ● 获取主要指令的有效状态
  #--------------------------------------------------------------------------
  def main_commands_enabled
    $game_party.exists
  end
  #--------------------------------------------------------------------------
  # ● 获取整队的有效状态
  #--------------------------------------------------------------------------
  def formation_enabled
    $game_party.members.size >= 2 && !$game_system.formation_disabled
  end
  #--------------------------------------------------------------------------
  # ● 获取存档的有效状态
  #--------------------------------------------------------------------------
  def save_enabled
    !$game_system.save_disabled
  end
  #--------------------------------------------------------------------------
  # ● 按下确定键时的处理
  #--------------------------------------------------------------------------
  def process_ok
    @@last_command_symbol = current_symbol
    super
  end
  #--------------------------------------------------------------------------
  # ● 返回最后一个选项的位置
  #--------------------------------------------------------------------------
  def select_last
    select_symbol(@@last_command_symbol)
  end
  #||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  #||||||||||||||||||||||||||                     |||||||||||||||||||||||||||
  #||||||||||||||||||||||||||  ●以下是新增内容●  |||||||||||||||||||||||||||
  #||||||||||||||||||||||||||                     |||||||||||||||||||||||||||
  #||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  #--------------------------------------------------------------------------
  # ● 获取列数
  #--------------------------------------------------------------------------
  def col_max
    item_max
  end
end
[/pre]


Scene_Menu
[pre lang="ruby" line="1"]#encoding:utf-8
#==============================================================================
# ■ Scene_Menu
#------------------------------------------------------------------------------
#  菜单画面
#==============================================================================

class Scene_Menu < Scene_MenuBase
  #--------------------------------------------------------------------------
  # ● 开始处理
  #--------------------------------------------------------------------------
  def start
    super
    create_command_window
    create_gold_window
    create_status_window
  end
  #--------------------------------------------------------------------------
  # ● 生成指令窗口
  #--------------------------------------------------------------------------
  def create_command_window
    @command_window = Window_MenuCommand.new
    @command_window.set_handler(:item,      method(:command_item))
#~     @command_window.set_handler(:skill,     method(:command_personal))
#~     @command_window.set_handler(:equip,     method(:command_personal))
#~     @command_window.set_handler(:status,    method(:command_personal))
#~     @command_window.set_handler(:formation, method(:command_formation))
#~     @command_window.set_handler(:save,      method(:command_save))
    @command_window.set_handler(:game_end,  method(:command_game_end))
    @command_window.set_handler(:cancel,    method(:return_scene))
  end
  #--------------------------------------------------------------------------
  # ● 生成金钱窗口
  #--------------------------------------------------------------------------
  ############## 原 ###########
#~   def create_gold_window
#~     @gold_window = Window_Gold.new
#~     @gold_window.x = 0
#~     @gold_window.y = Graphics.height - @gold_window.height
#~   end
  ############## 改 ###########
  def create_gold_window
    @face_window = Window_Base.new(0, Graphics.height - 112, 112, 112)
    @face_window.draw_actor_face($game_party.members[0], 0, 0)
  end
  #--------------------------------------------------------------------------
  # ● 生成状态窗口
  #--------------------------------------------------------------------------
  def create_status_window
#~     @status_window = Window_MenuStatus.new(@command_window.width, 0)
  end
  #--------------------------------------------------------------------------
  # ● 指令“物品”
  #--------------------------------------------------------------------------
  def command_item
    SceneManager.call(Scene_Item)
  end
  #--------------------------------------------------------------------------
  # ● 指令“技能”“装备”“状态”
  #--------------------------------------------------------------------------
  def command_personal
    @status_window.select_last
    @status_window.activate
    @status_window.set_handler(:ok,     method(:on_personal_ok))
    @status_window.set_handler(:cancel, method(:on_personal_cancel))
  end
  #--------------------------------------------------------------------------
  # ● 指令“整队”
  #--------------------------------------------------------------------------
  def command_formation
    @status_window.select_last
    @status_window.activate
    @status_window.set_handler(:ok,     method(:on_formation_ok))
    @status_window.set_handler(:cancel, method(:on_formation_cancel))
  end
  #--------------------------------------------------------------------------
  # ● 指令“存档”
  #--------------------------------------------------------------------------
  def command_save
    SceneManager.call(Scene_Save)
  end
  #--------------------------------------------------------------------------
  # ● 指令“结束游戏”
  #--------------------------------------------------------------------------
  def command_game_end
    SceneManager.call(Scene_End)
  end
  #--------------------------------------------------------------------------
  # ● 个人指令“确定”
  #--------------------------------------------------------------------------
  def on_personal_ok
    case @command_window.current_symbol
    when :skill
      SceneManager.call(Scene_Skill)
    when :equip
      SceneManager.call(Scene_Equip)
    when :status
      SceneManager.call(Scene_Status)
    end
  end
  #--------------------------------------------------------------------------
  # ● 个人指令“取消”
  #--------------------------------------------------------------------------
  def on_personal_cancel
    @status_window.unselect
    @command_window.activate
  end
  #--------------------------------------------------------------------------
  # ● 整队“确定”
  #--------------------------------------------------------------------------
  def on_formation_ok
    if @status_window.pending_index >= 0
      $game_party.swap_order(@status_window.index,
                             @status_window.pending_index)
      @status_window.pending_index = -1
      @status_window.redraw_item(@status_window.index)
    else
      @status_window.pending_index = @status_window.index
    end
    @status_window.activate
  end
  #--------------------------------------------------------------------------
  # ● 整队“取消”
  #--------------------------------------------------------------------------
  def on_formation_cancel
    if @status_window.pending_index >= 0
      @status_window.pending_index = -1
      @status_window.activate
    else
      @status_window.unselect
      @command_window.activate
    end
  end
end
[/pre]

点评

我又忘了不能在点评里@…………  发表于 2013-10-25 10:21
@喵呜喵5 不怎么习惯那样…………  发表于 2013-10-25 10:20
其实直接复制一个menu_command,改名后在scene里面载入这个新的窗口就不用担心没替换的问题了…  发表于 2013-10-24 23:06
感謝幫忙!! 成功做出效果了!!  发表于 2013-10-24 21:56

评分

参与人数 1星屑 +250 梦石 +1 收起 理由
熊喵酱 + 250 + 1 精品文章

查看全部评分

萌新瑟瑟发抖
看到我请叫我去干活
回复

使用道具 举报

梦石
0
星屑
22879
在线时间
8598 小时
注册时间
2011-12-31
回帖
3270
发表于 2013-10-24 20:43:44 | 显示全部楼层
這様?

[attachimg]199226[/attachim]
01.png

点评

這個菜單看起來更華麗了~ 不過我沒有角色的半身像 所以還是大頭就好了 感激~  发表于 2013-10-24 21:57
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部