查看: 3918|回复: 9

[已经过期] 关于菜单界面的问题?

[复制链接]
梦石
0
星屑
50
在线时间
209 小时
注册时间
2012-8-26
回帖
60
发表于 2014-5-2 22:50:22 | 显示全部楼层 |阅读模式

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

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

×
小弟不才...混了那么久才找到一个美工...结果在做了一点剧情后发现...自己的菜单还没换...刚开始也没怎样,直到看到各位大触解密界面的精致程度,我就泪奔了,由于是解密风格,所以之前的那些rpg风格的动态菜单之类的完全不合适...希望有人能帮忙看看,解密菜单如何制作出精致效果...谢谢了!

卑微的梦

梦石
0
星屑
547
在线时间
820 小时
注册时间
2013-2-23
回帖
1121

短篇九勇士组季军

发表于 2014-5-2 22:51:09 来自手机 | 显示全部楼层
你就是耳朵吧!o_O
回复

使用道具 举报

梦石
0
星屑
50
在线时间
209 小时
注册时间
2012-8-26
回帖
60
 楼主| 发表于 2014-5-3 08:50:19 | 显示全部楼层
子弹君 发表于 2014-5-2 22:51
你就是耳朵吧!o_O

噗!暴露了(我是伸手党,别鄙视我...555)...
回复

使用道具 举报

梦石
0
星屑
50
在线时间
35 小时
注册时间
2014-2-10
回帖
125
发表于 2014-5-3 11:04:51 | 显示全部楼层

[pre lang="ruby" line="1"]#==============================================================================
#
# ▼ Yanfly Engine Ace - Ace Menu Engine v1.07
# -- Last Updated: 2012.01.03
# -- Level: Normal, Hard
# -- Requires: n/a
#
#==============================================================================

$imported = {} if $imported.nil?
$imported["YEA-AceMenuEngine"] = true

#==============================================================================
# ▼ Updates
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# 2012.01.03 - Compatibility Update: Ace Item Menu
# 2012.01.01 - Compatibility Update: Kread-EX's Synthesis
#            - Compatibility Update: Kread-EX's Grathnode Install
#            - Compatibility Update: Yami's Slot Battle
# 2011.12.23 - Script efficiency optimized.
# 2011.12.19 - Compatibility Update: Class System
# 2011.12.15 - Updated for better menu MP/TP gauge management.
# 2011.12.13 - Compatibility Update: Ace Equip Engine
# 2011.12.07 - Update to allow for switches to also hide custom commands.
# 2011.12.06 - Started Script and Finished.
#
#==============================================================================
# ▼ Introduction
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# The menu system in RPG Maker VX Ace is great. However, it lacks the user
# customization that RPG Maker 2003 allowed. With this script, you can add,
# remove, and rearrange menu commands as you see fit. In addition to that, you
# can add in menu commands that lead to common events or even custom commands
# provided through other scripts.
#
# This script also provides window appearance management such as setting almost
# all command windows to be center aligned or changing the position of the
# help window. You can also opt to show the TP Gauge in the main menu as well
# as in the skill menu.
#
#==============================================================================
# ▼ Instructions
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# To install this script, open up your script editor and copy/paste this script
# to an open slot below ▼ Materials/素材 but above ▼ Main. Remember to save.
#
# Edit the settings in the module below as you see fit.
#
#==============================================================================
# ▼ Compatibility
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# This script is made strictly for RPG Maker VX Ace. It is highly unlikely that
# it will run with RPG Maker VX without adjusting.
#
#==============================================================================

module YEA
  module MENU
   
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # - General Menu Settings -
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # This changes the way menus appear in your game. You can change their
    # alignment, and the location of the help window, Note that any non-Yanfly
    # Engine Ace scripts may not conform to these menu styles.
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    HELP_WINDOW_LOCATION = 0     # 0-Top, 1-Middle, 2-Bottom.
    COMMAND_WINDOW_ALIGN = 1     # 0-Left, 1-Middle, 2-Right.
   
    # These settings below adjust the visual appearance of the main menu.
    # Change the settings as you see fit.
    MAIN_MENU_ALIGN = 0          # 0-Left, 1-Middle, 2-Right.
    MAIN_MENU_RIGHT = false      # false-Left, true-Right.
    MAIN_MENU_ROWS  = 10         # Maximum number of rows for main menu.
    DRAW_TP_GAUGE   = false      # If true, draws TP in the main menu.
   
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # - Main Menu Settings -
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # These settings adjust the main menu, the order at which commands appear,
    # what text is displayed, and what the commands are linked to. Here's a
    # list of which commands do what:
    #
    # -------------------------------------------------------------------------
    # :command         Description
    # -------------------------------------------------------------------------
    # :item            Opens up the item menu. Default menu item.
    # :skill           Opens up the skill menu. Default menu item.
    # :equip           Opens up the equip menu. Default menu item.
    # :status          Opens up the status menu. Default menu item.
    # :formation       Lets player manage party. Default menu item.
    # :save            Opens up the save menu. Default menu item.
    # :game_end        Opens up the shutdown menu. Default menu item.
    #
    # :class           Requires YEA - Class System
    #
    # :gogototori      Requires Kread-EX's Go Go Totori! Synthesis
    # :grathnode       Requires Kread-EX's Grathnote Install
    # :sslots          Requires Yami's YSA - Slot Battle
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    COMMANDS =[
      :item,         # Opens up the item menu. Default menu item.
    # :event_1,      # Launches Common Event 1. Common Event Command.
    # :event_2,      # Launches Common Event 2. Common Event Command.
    # :debug,        # Opens up debug menu. Custom Command.
    # :shop,         # Opens up a shop to pawn items. Custom Command.
      :game_end,     # Opens up the shutdown menu. Default menu item.
    ] # Do not remove this.
   
    #--------------------------------------------------------------------------
    # - Common Event Commands -
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    # If you insert one of the following commands into the COMMANDS array, the
    # player can trigger a common event to launch. You can disable certain
    # commands in the menu by binding them to a switch. If you don't want to
    # disable them, set the switch to 0 and it will always be enabled. The
    # ShowSwitch will prevent a command from appear if that switch is false.
    # Set it to 0 for it to have no impact.
    #--------------------------------------------------------------------------
    COMMON_EVENT_COMMANDS ={
    # :command => ["Display Name", EnableSwitch, ShowSwitch, Event ID],
      :event_1 => [        "Camp",           11,          0,        1],
      :event_2 => [   "Synthesis",            0,          0,        2],
    } # Do not remove this.
   
    #--------------------------------------------------------------------------
    # - Custom Commands -
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    # For those who use scripts that may lead to other menu scenes, use this
    # hash to manage custom commands that run specific script calls. You can
    # disable certain commands in the menu by binding them to a switch. If you
    # don't want to disable them, set the switch to 0. The ShowSwitch will
    # prevent a command from appear if that switch is false. Set it to 0 for
    # it to have no impact.
    #--------------------------------------------------------------------------
    CUSTOM_COMMANDS ={
    # :command => ["Display Name", EnableSwitch, ShowSwitch, Handler Method],
      :debug   => [       "Debug",            0,          0, :command_debug],
      :shop    => [        "Shop",           12,          0,  :command_shop],
      :gogototori => ["Synthesis",            0,        0,  :command_totori],
      :grathnode => [ "Grathnode",            0,        0, :command_install],
    } # Do not remove this.
   
  end # MENU
end # YEA

#==============================================================================
# ▼ Editting anything past this point may potentially result in causing
# computer damage, incontinence, explosion of user's head, coma, death, and/or
# halitosis so edit at your own risk.
#==============================================================================

#==============================================================================
# ■ Window_MenuCommand
#------------------------------------------------------------------------------
# This class is kept towards the top of the script to provide easier access.
#==============================================================================

class Window_MenuCommand < Window_Command
  
  #--------------------------------------------------------------------------
  # overwrite method: make_command_list
  #--------------------------------------------------------------------------
  def make_command_list
    for command in YEA::MENU::COMMANDS
      case command
      #--- Default Commands ---
      when :item
        add_command(Vocab::item,   :item,   main_commands_enabled)
      when :skill
        add_command(Vocab::skill,  :skill,  main_commands_enabled)
      when :equip
        add_command(Vocab::equip,  :equip,  main_commands_enabled)
      when :status
        add_command(Vocab::status, :status, main_commands_enabled)
      when :formation
        add_formation_command
      when :save
        add_original_commands
        add_save_command
      when :game_end
        add_game_end_command
      #--- Yanfly Engine Ace Commands ---
      when :class
        next unless $imported["YEA-ClassSystem"]
        add_class_command
      #--- Imported Commands ---
      when :sslots
        next unless $imported["YSA-SlotBattle"]
        add_sslots_command
      when :grathnode
        next unless $imported["KRX-GrathnodeInstall"]
        process_custom_command(command)
      when :gogototori
        next unless $imported["KRX-AlchemicSynthesis"]
        process_custom_command(command)
      #--- Imported Commands ---
      else
        process_common_event_command(command)
        process_custom_command(command)
      end
    end
  end
  
  #--------------------------------------------------------------------------
  # new method: process_common_event_command
  #--------------------------------------------------------------------------
  def process_common_event_command(command)
    return unless YEA::MENU::COMMON_EVENT_COMMANDS.include?(command)
    show = YEA::MENU::COMMON_EVENT_COMMANDS[command][2]
    continue = show <= 0 ? true : $game_switches[show]
    return unless continue
    text = YEA::MENU::COMMON_EVENT_COMMANDS[command][0]
    switch = YEA::MENU::COMMON_EVENT_COMMANDS[command][1]
    ext = YEA::MENU::COMMON_EVENT_COMMANDS[command][3]
    enabled = switch <= 0 ? true : $game_switches[switch]
    add_command(text, command, enabled, ext)
  end
  
  #--------------------------------------------------------------------------
  # new method: process_custom_command
  #--------------------------------------------------------------------------
  def process_custom_command(command)
    return unless YEA::MENU::CUSTOM_COMMANDS.include?(command)
    show = YEA::MENU::CUSTOM_COMMANDS[command][2]
    continue = show <= 0 ? true : $game_switches[show]
    return unless continue
    text = YEA::MENU::CUSTOM_COMMANDS[command][0]
    switch = YEA::MENU::CUSTOM_COMMANDS[command][1]
    enabled = switch <= 0 ? true : $game_switches[switch]
    add_command(text, command, enabled)
  end
  
end # Window_MenuCommand

#==============================================================================
# ■ Menu
#==============================================================================

module Menu
  
  #--------------------------------------------------------------------------
  # self.help_window_location
  #--------------------------------------------------------------------------
  def self.help_window_location
    return YEA::MENU::HELP_WINDOW_LOCATION
  end
  
  #--------------------------------------------------------------------------
  # self.command_window_align
  #--------------------------------------------------------------------------
  def self.command_window_align
    return YEA::MENU::COMMAND_WINDOW_ALIGN
  end
  
  #--------------------------------------------------------------------------
  # self.main_menu_align
  #--------------------------------------------------------------------------
  def self.main_menu_align
    return YEA::MENU::MAIN_MENU_ALIGN
  end
  
  #--------------------------------------------------------------------------
  # self.main_menu_right
  #--------------------------------------------------------------------------
  def self.main_menu_right
    return YEA::MENU::MAIN_MENU_RIGHT
  end
  
end # Menu

#==============================================================================
# ■ Window_Command
#==============================================================================

class Window_Command < Window_Selectable
  
  #--------------------------------------------------------------------------
  # overwrite method: alignment
  #--------------------------------------------------------------------------
  def alignment
    return Menu.command_window_align
  end
  
end # Window_Command

#==============================================================================
# ■ Window_MenuCommand
#==============================================================================

class Window_MenuCommand < Window_Command
  
  #--------------------------------------------------------------------------
  # alias method: init_command_position
  #--------------------------------------------------------------------------
  class <<self; alias init_command_position_ame init_command_position; end
  def self.init_command_position
    init_command_position_ame
    @@last_command_oy = nil
  end
  
  #--------------------------------------------------------------------------
  # overwrite method: visible_line_number
  #--------------------------------------------------------------------------
  def visible_line_number
    return [[item_max, YEA::MENU::MAIN_MENU_ROWS].min, 1].max
  end
  
  #--------------------------------------------------------------------------
  # overwrite method: alignment
  #--------------------------------------------------------------------------
  def alignment
    return Menu.main_menu_align
  end
  
  #--------------------------------------------------------------------------
  # alias method: process_ok
  #--------------------------------------------------------------------------
  alias window_menucommand_process_ok_ame process_ok
  def process_ok
    @@last_command_oy = self.oy
    window_menucommand_process_ok_ame
  end
  
  #--------------------------------------------------------------------------
  # alias method: select_last
  #--------------------------------------------------------------------------
  alias window_menucommand_select_last_ame select_last
  def select_last
    window_menucommand_select_last_ame
    self.oy = @@last_command_oy unless @@last_command_oy.nil?
    @@last_command_oy = nil
  end
  
end # Window_MenuCommand

#==============================================================================
# ■ Scene_Menu
#==============================================================================

class Scene_Menu < Scene_MenuBase
  
  #--------------------------------------------------------------------------
  # alias method: start
  #--------------------------------------------------------------------------
  alias scene_menu_start_ame start
  def start
    scene_menu_start_ame
    relocate_windows
  end
  
  #--------------------------------------------------------------------------
  # new method: relocate_windows
  #--------------------------------------------------------------------------
  def relocate_windows
    return unless Menu.main_menu_right
    @command_window.x = Graphics.width - @command_window.width
  end
  
end # Scene_Menu

#==============================================================================
# ■ Scene_Item
#==============================================================================

class Scene_Item < Scene_ItemBase
  
  #--------------------------------------------------------------------------
  # alias method: start
  #--------------------------------------------------------------------------
  alias scene_item_start_ame start
  def start
    scene_item_start_ame
    return if $imported["YEA-ItemMenu"]
    relocate_windows
  end
  
  #--------------------------------------------------------------------------
  # new method: relocate_windows
  #--------------------------------------------------------------------------
  def relocate_windows
    case Menu.help_window_location
    when 0 # Top
      @help_window.y = 0
      @category_window.y = @help_window.height
      @item_window.y = @category_window.y + @category_window.height
    when 1 # Middle
      @category_window.y = 0
      @help_window.y = @category_window.height
      @item_window.y = @help_window.y + @help_window.height
    else # Bottom
      @category_window.y = 0
      @item_window.y = @category_window.height
      @help_window.y = @item_window.y + @item_window.height
    end
    if $imported["YEA-ItemMenu"]
      @types_window.y = @category_window.y
      @status_window.y = @category_window.y
    end
  end
  
end # Scene_Item

#==============================================================================
# ■ Scene_Skill
#==============================================================================

class Scene_Skill < Scene_ItemBase
  
  #--------------------------------------------------------------------------
  # alias method: start
  #--------------------------------------------------------------------------
  alias scene_skill_start_ame start
  def start
    scene_skill_start_ame
    relocate_windows
  end
  
  #--------------------------------------------------------------------------
  # new method: relocate_windows
  #--------------------------------------------------------------------------
  def relocate_windows
    case Menu.help_window_location
    when 0 # Top
      @help_window.y = 0
      @command_window.y = @help_window.height
      @status_window.y = @help_window.height
      @item_window.y = @status_window.y + @status_window.height
    when 1 # Middle
      @command_window.y = 0
      @status_window.y = 0
      @help_window.y = @status_window.y + @status_window.height
      @item_window.y = @help_window.y + @help_window.height
    else # Bottom
      @command_window.y = 0
      @status_window.y = 0
      @item_window.y = @status_window.y + @status_window.height
      @help_window.y = @item_window.y + @item_window.height
    end
  end
  
end # Scene_Skill

#==============================================================================
# ■ Scene_Equip
#==============================================================================

class Scene_Equip < Scene_MenuBase
  
  #--------------------------------------------------------------------------
  # alias method: start
  #--------------------------------------------------------------------------
  alias scene_equip_start_ame start
  def start
    scene_equip_start_ame
    relocate_windows
    relocate_aee_windows
  end
  
  #--------------------------------------------------------------------------
  # new method: relocate_windows
  #--------------------------------------------------------------------------
  def relocate_windows
    return if $imported["YEA-AceEquipEngine"]
    case Menu.help_window_location
    when 0 # Top
      @help_window.y = 0
      @status_window.y = @help_window.height
      @command_window.y = @help_window.height
      @slot_window.y = @command_window.y + @command_window.height
      @item_window.y = @slot_window.y + @slot_window.height
    when 1 # Middle
      @status_window.y = 0
      @command_window.y = 0
      @slot_window.y = @command_window.y + @command_window.height
      @help_window.y = @slot_window.y + @slot_window.height
      @item_window.y = @help_window.y + @help_window.height
    else # Bottom
      @status_window.y = 0
      @command_window.y = 0
      @slot_window.y = @command_window.y + @command_window.height
      @item_window.y = @slot_window.y + @slot_window.height
      @help_window.y = @item_window.y + @item_window.height
    end
  end
  
  #--------------------------------------------------------------------------
  # new method: relocate_aee_windows
  #--------------------------------------------------------------------------
  def relocate_aee_windows
    return unless $imported["YEA-AceEquipEngine"]
    case Menu.help_window_location
    when 0 # Top
      @help_window.y = 0
      @command_window.y = @help_window.height
      @slot_window.y = @command_window.y + @command_window.height
    when 1 # Middle
      @command_window.y = 0
      @help_window.y = @command_window.height
      @slot_window.y = @help_window.y + @help_window.height
    else # Bottom
      @command_window.y = 0
      @slot_window.y = @command_window.height
      @help_window.y = @slot_window.y + @slot_window.height
    end
    @actor_window.y = @command_window.y
    @item_window.y = @slot_window.y
    @status_window.y = @slot_window.y
  end
  
end # Scene_Equip

#==============================================================================
# ■ Scene_Menu
#==============================================================================

class Scene_Menu < Scene_MenuBase
  
  #--------------------------------------------------------------------------
  # alias method: create_command_window
  #--------------------------------------------------------------------------
  alias scene_menu_create_command_window_ame create_command_window
  def create_command_window
    scene_menu_create_command_window_ame
    process_common_event_commands
    process_custom_commands
  end
  
  #--------------------------------------------------------------------------
  # new method: process_common_event_commands
  #--------------------------------------------------------------------------
  def process_common_event_commands
    for command in YEA::MENU::COMMANDS
      next unless YEA::MENU::COMMON_EVENT_COMMANDS.include?(command)
      @command_window.set_handler(command, method(:command_common_event))
    end
  end
  
  #--------------------------------------------------------------------------
  # new method: command_common_event
  #--------------------------------------------------------------------------
  def command_common_event
    event_id = @command_window.current_ext
    return return_scene if event_id.nil?
    return return_scene if $data_common_events[event_id].nil?
    $game_temp.reserve_common_event(event_id)
    return_scene
  end
  
  #--------------------------------------------------------------------------
  # new method: process_custom_commands
  #--------------------------------------------------------------------------
  def process_custom_commands
    for command in YEA::MENU::COMMANDS
      next unless YEA::MENU::CUSTOM_COMMANDS.include?(command)
      called_method = YEA::MENU::CUSTOM_COMMANDS[command][3]
      @command_window.set_handler(command, method(called_method))
    end
  end
  
  #--------------------------------------------------------------------------
  # new method: command_debug
  #--------------------------------------------------------------------------
  def command_debug
    SceneManager.call(Scene_Debug)
  end
  
  #--------------------------------------------------------------------------
  # new method: command_shop
  #--------------------------------------------------------------------------
  def command_shop
    goods = []
    SceneManager.call(Scene_Shop)
    SceneManager.scene.prepare(goods, false)
  end
  
  #--------------------------------------------------------------------------
  # new method: command_totori
  #--------------------------------------------------------------------------
  def command_totori
    return unless $imported['KRX-AlchemicSynthesis']
    SceneManager.call(Scene_Alchemy)
  end
  
end # Scene_Menu

#==============================================================================
#
# ▼ End of File
#
#==============================================================================[/pre]

评分

参与人数 1星屑 +100 收起 理由
taroxd + 100 认可答案

查看全部评分


本人的游戏主页:YBGame
回复

使用道具 举报

梦石
0
星屑
50
在线时间
209 小时
注册时间
2012-8-26
回帖
60
 楼主| 发表于 2014-5-3 11:39:11 | 显示全部楼层
银元宝 发表于 2014-5-3 11:04
#==============================================================================
#
# ▼ Ya ...

我复制不了代码...肿么办
回复

使用道具 举报

梦石
0
星屑
50
在线时间
209 小时
注册时间
2012-8-26
回帖
60
 楼主| 发表于 2014-5-3 12:04:23 | 显示全部楼层
话说这个怎么用啊...貌似只是把一些多余的东西去掉了而已...(版主原谅,我不是有意要连帖的,真的非常对不起
回复

使用道具 举报

梦石
0
星屑
22879
在线时间
8598 小时
注册时间
2011-12-31
回帖
3270
发表于 2014-5-3 14:46:46 | 显示全部楼层
回复

使用道具 举报

梦石
0
星屑
50
在线时间
209 小时
注册时间
2012-8-26
回帖
60
 楼主| 发表于 2014-5-3 16:13:16 | 显示全部楼层
tseyik 发表于 2014-5-3 14:46
カスタムメニュー(自定義菜單)
http://cacaosoft.web.fc2.com/tkool/script/rgss3/cm/index.html
範本

完全打不开啊...
回复

使用道具 举报

梦石
0
星屑
803
在线时间
2068 小时
注册时间
2011-10-3
回帖
1620
发表于 2014-5-4 22:53:38 | 显示全部楼层
495317827 发表于 2014-5-3 16:13
完全打不开啊...

请使用代理
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部