设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 6257|回复: 12
打印 上一主题 下一主题

[原创发布] 我的菜单制作方法-星月的小教室-第二节

[复制链接]

Lv1.梦旅人

梦石
0
星屑
78
在线时间
602 小时
注册时间
2012-4-20
帖子
608
跳转到指定楼层
1
发表于 2014-7-26 11:07:11 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 星月铃音 于 2014-7-30 20:32 编辑

先贴一个完成效果,依旧是短九的作品。

那么,做成这样子的菜单要怎么进行呢?下面就是教程~
首先,我们要在脚本列表的最开头添加以下的脚本
RUBY 代码复制
  1. Graphics.resize_screen(800,480)

下一步。我们打开vocab,添加
RUBY 代码复制
  1. # 自定画面
  2.   Map             = "所在地"
  3.   Ssave           = "   存储进度"

下一步,打开Cache,作如下修改。
46行end后加入
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 获取角色半身肖像图
  3.   #--------------------------------------------------------------------------
  4.   def self.HalfBody(filename)
  5.     load_bitmap("Graphics/HalfBody/", filename)
  6.   end

下一步,打开Window_Base,作如下修改
1,395行后面添加---这里错了,应该是414
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 绘制角色半身肖像图
  3.   #     enabled : 有效的标志。false 的时候使用半透明效果绘制
  4.   #--------------------------------------------------------------------------
  5.   def draw_HalfBody(face_name, face_index, x, y, enabled = true)
  6.     bitmap = Cache.HalfBody(face_name)
  7.     rect = Rect.new(face_index % 1 * 96, face_index / 1 * 194, 134, 280)
  8.     contents.blt(x, y, bitmap, rect, enabled ? 255 : translucent_alpha)
  9.     bitmap.dispose
  10.   end

2,456行后面添加
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 绘制角色半肖像图
  3.   #--------------------------------------------------------------------------
  4.   def draw_actor_HalfBody(actor, x, y, enabled = true)
  5.     draw_HalfBody(actor.face_name, actor.face_index, x, y, enabled)
  6.   end

3,470添加
  1. #--------------------------------------------------------------------------
  2.   # ● 绘制菜单名字
  3.   #--------------------------------------------------------------------------
  4.   def draw_actor_mname(actor, x, y, width = 200)
  5.     contents.font.size += 7
  6.     contents.font.name = ["华康雅宋体W9(P)", "黑体"]
  7.     change_color(hp_color(actor))
  8.     draw_text(x, y, width, line_height, actor.name)
  9.     contents.font.size -= 7
  10.     contents.font.name = "黑体"
  11.   End
复制代码
4,494添加
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 绘制等级 菜单
  3.   #--------------------------------------------------------------------------
  4.   def draw_actor_mlevel(actor, x, y)
  5.     change_color(normal_color)
  6.     contents.font.size += 10
  7.     contents.font.name = ["Old English Text MT", "黑体"]
  8.     contents.font.shadow = true
  9.     draw_text(x + 55, y, 100, line_height, Vocab::level_a)
  10.     contents.font.size -= 10
  11.     change_color(normal_color)
  12.     contents.font.size += 30
  13.     draw_text(x + 32, y-15, 100, line_height*2, actor.level, 2)
  14.     contents.font.size -= 30
  15.     contents.font.name = "黑体"
  16.     contents.font.shadow = false
  17.   End

替换Window_MenuStatus
RUBY 代码复制
  1. #encoding:utf-8
  2. #==============================================================================
  3. # ■ Window_MenuStatus
  4. #------------------------------------------------------------------------------
  5. #  菜单画面中,显示队伍成员状态的窗口
  6. #==============================================================================
  7.  
  8. class Window_MenuStatus < Window_Selectable
  9.   #--------------------------------------------------------------------------
  10.   # ● 获取首列位置
  11.   #--------------------------------------------------------------------------
  12.   def top_col
  13.     ox / (item_width + spacing)
  14.   end
  15.   #--------------------------------------------------------------------------
  16.   # ● 设置首列位置
  17.   #--------------------------------------------------------------------------
  18.   def top_col=(col)
  19.     col = 0 if col < 0
  20.     #col = col_max - 1 if col > col_max
  21.     self.ox = col * (item_width + spacing)
  22.   end
  23.   #--------------------------------------------------------------------------
  24.   # ● 获取尾列位置
  25.   #--------------------------------------------------------------------------
  26.   def bottom_col
  27.     top_col + col_max - 1
  28.   end
  29.   #--------------------------------------------------------------------------
  30.   # ● 设置尾列位置
  31.   #--------------------------------------------------------------------------
  32.   def bottom_col=(col)
  33.     self.top_col = col - (col_max - 1)
  34.   end
  35.   #--------------------------------------------------------------------------
  36.   # ● 确保光标在画面范围内滚动
  37.   #--------------------------------------------------------------------------
  38.   def ensure_cursor_visible
  39.     self.top_col = index if index < top_col
  40.     self.bottom_col = index if index > bottom_col
  41.   end
  42.   #--------------------------------------------------------------------------
  43.   # ● 获取项目的绘制矩形
  44.   #--------------------------------------------------------------------------
  45.   def item_rect(index)
  46.     rect = super
  47.     rect.x = index * (item_width + spacing)
  48.     rect.y = 0
  49.     rect
  50.   end
  51.   #--------------------------------------------------------------------------
  52.   # ● 获取对齐方向
  53.   #--------------------------------------------------------------------------
  54.   def alignment
  55.     return 1
  56.   end
  57.   #--------------------------------------------------------------------------
  58.   # ● 光标向下移动
  59.   #--------------------------------------------------------------------------
  60.   def cursor_down(wrap = false)
  61.   end
  62.   #--------------------------------------------------------------------------
  63.   # ● 光标向上移动
  64.   #--------------------------------------------------------------------------
  65.   def cursor_up(wrap = false)
  66.   end
  67.   #--------------------------------------------------------------------------
  68.   # ● 光标移至下一页
  69.   #--------------------------------------------------------------------------
  70.   def cursor_pagedown
  71.   end
  72.   #--------------------------------------------------------------------------
  73.   # ● 光标移至上一页
  74.   #--------------------------------------------------------------------------
  75.   def cursor_pageup
  76.   end
  77.   #--------------------------------------------------------------------------
  78.   # ● 定义实例变量
  79.   #--------------------------------------------------------------------------
  80.   attr_reader   :pending_index            # 保留位置(整队用)
  81.   #--------------------------------------------------------------------------
  82.   # ● 初始化对象
  83.   #--------------------------------------------------------------------------
  84.   def initialize(x, y)
  85.     super(110, 50, 580, 380)
  86.     @pending_index = -1
  87.     refresh
  88.   end
  89.   #--------------------------------------------------------------------------
  90.   # ● 获取窗口的宽度
  91.   #--------------------------------------------------------------------------
  92.   def window_width
  93.     580
  94.   end
  95.   #--------------------------------------------------------------------------
  96.   # ● 获取列数
  97.   #--------------------------------------------------------------------------
  98.   def col_max
  99.     return 4 #跟据分辨率的不同可以改
  100.   end
  101.   #--------------------------------------------------------------------------
  102.   # ● 获取窗口的高度
  103.   #--------------------------------------------------------------------------
  104.   def window_height
  105.     Graphics.height
  106.   end
  107.   #--------------------------------------------------------------------------
  108.   # ● 获取项目数
  109.   #--------------------------------------------------------------------------
  110.   def item_max
  111.     $game_party.members.size
  112.   end
  113.   #--------------------------------------------------------------------------
  114.   # ● 获取项目的高度
  115.   #--------------------------------------------------------------------------
  116.   def item_height
  117.     height - standard_padding * 2
  118.   end
  119.   #--------------------------------------------------------------------------
  120.   # ● 获取项目的宽度
  121.   #--------------------------------------------------------------------------
  122.   def item_width
  123.     (width - standard_padding * 2 + spacing) /col_max - spacing
  124.   end
  125.   #--------------------------------------------------------------------------
  126.   # ● 获取行间距的宽度
  127.   #--------------------------------------------------------------------------
  128.   def spacing
  129.     return 0
  130.   end
  131.   #--------------------------------------------------------------------------
  132.   # ● 计算窗口内容的宽度
  133.   #--------------------------------------------------------------------------
  134.   def contents_width
  135.     (item_width + spacing) * item_max - spacing
  136.   end
  137.     #--------------------------------------------------------------------------
  138.   # ● 计算窗口内容的宽度
  139.   #--------------------------------------------------------------------------
  140.   def contents_height
  141.     item_height
  142.   end
  143.   #--------------------------------------------------------------------------
  144.   # ● 绘制项目
  145.   #--------------------------------------------------------------------------
  146.   def draw_item(index)
  147.     actor = $game_party.members[index]
  148.     enabled = $game_party.battle_members.include?(actor)
  149.     rect = item_rect(index)
  150.     draw_item_background(index)
  151.     draw_actor_HalfBody(actor, rect.x+1.5, rect.y, enabled)
  152.     draw_actor_mname(actor,rect.x, rect.y+5)
  153.     draw_actor_class(actor,rect.x, rect.y+5+line_height*1)
  154.     draw_actor_icons(actor,rect.x,rect.y+205+line_height*1)
  155.     draw_actor_mlevel(actor,rect.x, rect.y+205+line_height*2)
  156.     draw_actor_hp(actor,rect.x+7.5,rect.y+205+line_height*3)
  157.     draw_actor_mp(actor,rect.x+7.5,rect.y+205+line_height*4)
  158.     draw_actor_tp(actor,rect.x+7.5,rect.y+205+line_height*5)
  159.   end
  160.   #--------------------------------------------------------------------------
  161.   # ● 绘制项目的背景
  162.   #--------------------------------------------------------------------------
  163.   def draw_item_background(index)
  164.     if index == @pending_index
  165.       contents.fill_rect(item_rect(index), pending_color)
  166.     end
  167.   end
  168.  
  169.   #--------------------------------------------------------------------------
  170.   # ● 按下确定键时的处理
  171.   #--------------------------------------------------------------------------
  172.   def process_ok
  173.     super
  174.     $game_party.menu_actor = $game_party.members[index]
  175.   end
  176.   #--------------------------------------------------------------------------
  177.   # ● 返回上一个选择的位置
  178.   #--------------------------------------------------------------------------
  179.   def select_last
  180.     select($game_party.menu_actor.index || 0)
  181.   end
  182.   #--------------------------------------------------------------------------
  183.   # ● 设置保留位置(整队用)
  184.   #--------------------------------------------------------------------------
  185.   def pending_index=(index)
  186.     last_pending_index = @pending_index
  187.     @pending_index = index
  188.     redraw_item(@pending_index)
  189.     redraw_item(last_pending_index)
  190.   end
  191. end

然后在 Window_MenuStatus上面添加两个脚本
RUBY 代码复制
  1. #encoding:utf-8
  2. #==============================================================================
  3. # ■ Window_ver
  4. #------------------------------------------------------------------------------
  5. #  显示版本的窗口
  6. #==============================================================================
  7.  
  8. class Window_ver < Window_Base
  9.   #--------------------------------------------------------------------------
  10.   # ● 初始化对象
  11.   #--------------------------------------------------------------------------
  12.   def initialize
  13.     super(0, 0, window_width, fitting_height(1))
  14.     refresh
  15.   end
  16.   #--------------------------------------------------------------------------
  17.   # ● 获取窗口的宽度
  18.   #--------------------------------------------------------------------------
  19.   def window_width
  20.     return 250
  21.   end
  22.   #--------------------------------------------------------------------------
  23.   # ● 刷新
  24.   #--------------------------------------------------------------------------
  25.   def refresh
  26.     contents.clear
  27.     draw_currency_value(value, currency_unit, 0, 0, contents.width - 8)
  28.   end
  29.   #--------------------------------------------------------------------------
  30.   # ● 获取持有金钱
  31.   #--------------------------------------------------------------------------
  32.   def value
  33.     "版本号 1.0.0"
  34.   end
  35.   #--------------------------------------------------------------------------
  36.   # ● 获取货币单位
  37.   #--------------------------------------------------------------------------
  38.   def currency_unit
  39.   end
  40.   #--------------------------------------------------------------------------
  41.   # ● 打开窗口
  42.   #--------------------------------------------------------------------------
  43.   def open
  44.     refresh
  45.     super
  46.   end
  47. end

RUBY 代码复制
  1. #encoding:utf-8
  2. #==============================================================================
  3. # ■ Window_Map
  4. #------------------------------------------------------------------------------
  5. #  显示地图的窗口
  6. #==============================================================================
  7.  
  8. class Window_Map < Window_Base
  9.   #--------------------------------------------------------------------------
  10.   # ● 初始化对象
  11.   #--------------------------------------------------------------------------
  12.   def initialize
  13.     super(0, 0, window_width, fitting_height(1))
  14.     refresh
  15.   end
  16.   #--------------------------------------------------------------------------
  17.   # ● 获取窗口的宽度
  18.   #--------------------------------------------------------------------------
  19.   def window_width
  20.     return 300
  21.   end
  22.   #--------------------------------------------------------------------------
  23.   # ● 刷新
  24.   #--------------------------------------------------------------------------
  25.   def refresh
  26.     contents.clear
  27.     draw_currency_value(value, currency_unit, 0, 0, contents.width - 8)
  28.   end
  29.   #--------------------------------------------------------------------------
  30.   # ● 获取持有金钱
  31.   #--------------------------------------------------------------------------
  32.   def value
  33.     Vocab::Map + "            " + $game_map.display_name
  34.   end
  35.   #--------------------------------------------------------------------------
  36.   # ● 获取货币单位
  37.   #--------------------------------------------------------------------------
  38.   def currency_unit
  39.   end
  40.   #--------------------------------------------------------------------------
  41.   # ● 打开窗口
  42.   #--------------------------------------------------------------------------
  43.   def open
  44.     refresh
  45.     super
  46.   end
  47. end

RUBY 代码复制
  1. #==============================================================================
  2. # ■ Window_Gold
  3. #------------------------------------------------------------------------------
  4. #  显示持有金钱的窗口
  5. #==============================================================================
  6.  
  7. class Window_MGold < Window_Base
  8.   #--------------------------------------------------------------------------
  9.   # ● 初始化对象
  10.   #--------------------------------------------------------------------------
  11.   def initialize
  12.     super(0, 0, window_width, fitting_height(1))
  13.     refresh
  14.   end
  15.   #--------------------------------------------------------------------------
  16.   # ● 获取窗口的宽度
  17.   #--------------------------------------------------------------------------
  18.   def window_width
  19.     return 250
  20.   end
  21.   #--------------------------------------------------------------------------
  22.   # ● 刷新
  23.   #--------------------------------------------------------------------------
  24.   def refresh
  25.     contents.clear
  26.     draw_currency_value(value, currency_unit, 4, 0, contents.width - 8)
  27.   end
  28.   #--------------------------------------------------------------------------
  29.   # ● 获取持有金钱
  30.   #--------------------------------------------------------------------------
  31.   def value
  32.     $game_party.gold
  33.   end
  34.   #--------------------------------------------------------------------------
  35.   # ● 获取货币单位
  36.   #--------------------------------------------------------------------------
  37.   def currency_unit
  38.     Vocab::currency_unit
  39.   end
  40.   #--------------------------------------------------------------------------
  41.   # ● 打开窗口
  42.   #--------------------------------------------------------------------------
  43.   def open
  44.     refresh
  45.     super
  46.   end
  47. end

这个是楼主自己改的,凑活用吧~
然后修改Window_MenuCommand,直接替换
RUBY 代码复制
  1. #encoding:utf-8
  2. #==============================================================================
  3. # ■ Window_MenuCommand
  4. #------------------------------------------------------------------------------
  5. #  菜单画面中显示指令的窗口
  6. #==============================================================================
  7.  
  8. class Window_MenuCommand < Window_HorzCommand
  9. #--------------------------------------------------------------------------
  10.   # ● 初始化指令选择位置(类方法)
  11.   #--------------------------------------------------------------------------
  12.   def self.init_command_position
  13.     @@last_command_symbol = nil
  14.   end
  15.   #--------------------------------------------------------------------------
  16.   # ● 初始化对象
  17.   #--------------------------------------------------------------------------
  18.   def initialize
  19.     super(0, 0)
  20.     select_last
  21.   end
  22.   #--------------------------------------------------------------------------
  23.   # ● 获取窗口的宽度
  24.   #--------------------------------------------------------------------------
  25.   def window_width
  26.     return 800
  27.   end
  28.   def window_height
  29.     return 48
  30.   end
  31.   def col_max
  32.     return 6
  33.   end
  34.   #--------------------------------------------------------------------------
  35.   # ● 获取显示行数
  36.   #--------------------------------------------------------------------------
  37.   def visible_line_number
  38.     item_max
  39.   end
  40.   #--------------------------------------------------------------------------
  41.   # ● 生成指令列表
  42.   #--------------------------------------------------------------------------
  43.   def make_command_list
  44.     add_main_commands
  45.     add_formation_command
  46.     add_original_commands
  47.     add_save_command
  48.     add_game_end_command
  49.   end
  50.   #--------------------------------------------------------------------------
  51.   # ● 向指令列表添加主要的指令
  52.   #--------------------------------------------------------------------------
  53.   def add_main_commands
  54.     add_command(Vocab::item,   :item,   main_commands_enabled)
  55.     add_command(Vocab::skill,  :skill,  main_commands_enabled)
  56.     add_command(Vocab::equip,  :equip,  main_commands_enabled)
  57.     add_command(Vocab::status, :status, main_commands_enabled)
  58.   end
  59.   #--------------------------------------------------------------------------
  60.   # ● 添加整队指令
  61.   #--------------------------------------------------------------------------
  62.   def add_formation_command
  63.     add_command(Vocab::formation, :formation, formation_enabled)
  64.   end
  65.   #--------------------------------------------------------------------------
  66.   # ● 独自添加指令用
  67.   #--------------------------------------------------------------------------
  68.   def add_original_commands
  69.   end
  70.   #--------------------------------------------------------------------------
  71.   # ● 添加存档指令
  72.   #--------------------------------------------------------------------------
  73.   def add_save_command
  74.     add_command(Vocab::save, :save, save_enabled)
  75.   end
  76.   #--------------------------------------------------------------------------
  77.   # ● 添加游戏结束指令
  78.   #--------------------------------------------------------------------------
  79.   def add_game_end_command
  80.     add_command(Vocab::game_end, :game_end)
  81.   end
  82.   #--------------------------------------------------------------------------
  83.   # ● 获取主要指令的有效状态
  84.   #--------------------------------------------------------------------------
  85.   def main_commands_enabled
  86.     $game_party.exists
  87.   end
  88.   #--------------------------------------------------------------------------
  89.   # ● 获取整队的有效状态
  90.   #--------------------------------------------------------------------------
  91.   def formation_enabled
  92.     $game_party.members.size >= 2 && !$game_system.formation_disabled
  93.   end
  94.   #--------------------------------------------------------------------------
  95.   # ● 获取存档的有效状态
  96.   #--------------------------------------------------------------------------
  97.   def save_enabled
  98.     !$game_system.save_disabled
  99.   end
  100.   #--------------------------------------------------------------------------
  101.   # ● 按下确定键时的处理
  102.   #--------------------------------------------------------------------------
  103.   def process_ok
  104.     @@last_command_symbol = current_symbol
  105.     super
  106.   end
  107.   #--------------------------------------------------------------------------
  108.   # ● 返回最后一个选项的位置
  109.   #--------------------------------------------------------------------------
  110.   def select_last
  111.     select_symbol(@@last_command_symbol)
  112.   end
  113. end

然后修改Scene_Menu,直接替换。
RUBY 代码复制
  1. #encoding:utf-8
  2. #==============================================================================
  3. # ■ Scene_Menu
  4. #------------------------------------------------------------------------------
  5. #  菜单画面
  6. #==============================================================================
  7.  
  8. class Scene_Menu < Scene_MenuBase
  9.   #--------------------------------------------------------------------------
  10.   # ● 开始处理
  11.   #--------------------------------------------------------------------------
  12.   def start
  13.     super
  14.     create_command_window
  15.     create_mgold_window
  16.     create_status_window
  17.   end
  18.   #--------------------------------------------------------------------------
  19.   # ● 生成指令窗口
  20.   #--------------------------------------------------------------------------
  21.   def create_command_window
  22.     @command_window = Window_MenuCommand.new
  23.     @command_window.set_handler(:item,      method(:command_item))
  24.     @command_window.set_handler(:skill,     method(:command_personal))
  25.     @command_window.set_handler(:equip,     method(:command_personal))
  26.     @command_window.set_handler(:status,    method(:command_personal))
  27.     @command_window.set_handler(:formation, method(:command_formation))
  28.     @command_window.set_handler(:save,      method(:command_save))
  29.     @command_window.set_handler(:game_end,  method(:command_game_end))
  30.     @command_window.set_handler(:cancel,    method(:return_scene))
  31.   end
  32.   #--------------------------------------------------------------------------
  33.   # ● 生成金钱窗口
  34.   #--------------------------------------------------------------------------
  35.   def create_mgold_window
  36.     @gold_window = Window_MGold.new
  37.     @gold_window.x = 0
  38.     @gold_window.y = Graphics.height - 48
  39.     @ver_window = Window_ver.new
  40.     @ver_window.x = Graphics.width - 250
  41.     @ver_window.y = Graphics.height - 48
  42.     @map_window = Window_Map.new
  43.     @map_window.x = Graphics.width - 550
  44.     @map_window.y = Graphics.height - 48
  45.   end
  46.   #--------------------------------------------------------------------------
  47.   # ● 生成状态窗口
  48.   #--------------------------------------------------------------------------
  49.   def create_status_window
  50.     @status_window = Window_MenuStatus.new(@command_window.width, 0)
  51.   end
  52.   #--------------------------------------------------------------------------
  53.   # ● 指令“物品”
  54.   #--------------------------------------------------------------------------
  55.   def command_item
  56.     SceneManager.call(Scene_Item)
  57.   end
  58.   #--------------------------------------------------------------------------
  59.   # ● 指令“技能”“装备”“状态”
  60.   #--------------------------------------------------------------------------
  61.   def command_personal
  62.     @status_window.select_last
  63.     @status_window.activate
  64.     @status_window.set_handler(:ok,     method(:on_personal_ok))
  65.     @status_window.set_handler(:cancel, method(:on_personal_cancel))
  66.   end
  67.   #--------------------------------------------------------------------------
  68.   # ● 指令“整队”
  69.   #--------------------------------------------------------------------------
  70.   def command_formation
  71.     @status_window.select_last
  72.     @status_window.activate
  73.     @status_window.set_handler(:ok,     method(:on_formation_ok))
  74.     @status_window.set_handler(:cancel, method(:on_formation_cancel))
  75.   end
  76.   #--------------------------------------------------------------------------
  77.   # ● 指令“存档”
  78.   #--------------------------------------------------------------------------
  79.   def command_save
  80.     SceneManager.call(Scene_Save)
  81.   end
  82.   #--------------------------------------------------------------------------
  83.   # ● 指令“结束游戏”
  84.   #--------------------------------------------------------------------------
  85.   def command_game_end
  86.     SceneManager.call(Scene_End)
  87.   end
  88.   #--------------------------------------------------------------------------
  89.   # ● 个人指令“确定”
  90.   #--------------------------------------------------------------------------
  91.   def on_personal_ok
  92.     case @command_window.current_symbol
  93.     when :skill
  94.       SceneManager.call(Scene_Skill)
  95.     when :equip
  96.       SceneManager.call(Scene_Equip)
  97.     when :status
  98.       SceneManager.call(Scene_Status)
  99.     end
  100.   end
  101.   #--------------------------------------------------------------------------
  102.   # ● 个人指令“取消”
  103.   #--------------------------------------------------------------------------
  104.   def on_personal_cancel
  105.     @status_window.unselect
  106.     @command_window.activate
  107.   end
  108.   #--------------------------------------------------------------------------
  109.   # ● 整队“确定”
  110.   #--------------------------------------------------------------------------
  111.   def on_formation_ok
  112.     if @status_window.pending_index >= 0
  113.       $game_party.swap_order(@status_window.index,
  114.                              @status_window.pending_index)
  115.       @status_window.pending_index = -1
  116.       @status_window.redraw_item(@status_window.index)
  117.     else
  118.       @status_window.pending_index = @status_window.index
  119.     end
  120.     @status_window.activate
  121.   end
  122.   #--------------------------------------------------------------------------
  123.   # ● 整队“取消”
  124.   #--------------------------------------------------------------------------
  125.   def on_formation_cancel
  126.     if @status_window.pending_index >= 0
  127.       @status_window.pending_index = -1
  128.       @status_window.activate
  129.     else
  130.       @status_window.unselect
  131.       @command_window.activate
  132.     end
  133.   end
  134. end

请注意,要添加一下字体
"Old English Text MT"
"华康雅宋体W9(P)"

然后在Graphics里面建立文件夹HalfBody,添加和主人公头像同名的文件,大小是136*280.
例如

对了,要替换一个破除分辨率限制的dll
这样子一个800*480的系统就完成了~

大召唤术
@迷糊的安安 @怪蜀黍 @进击の虎叔 @柳泖 @MeowSnow @片翼贤者 @ナイフ君 @VIPArcher @cinderelmini @樱花树下   

PS由于发现800*480分辨率使用较少,特在此推出通用版本的系统范例,可以直接点击下载。分辨率设置完成后可以自动适应。但是如果需要比较好的效果还需要自行修改一下~
http://pan.baidu.com/s/1jG7Pe8A

评分

参与人数 7星屑 +841 +1 收起 理由
樱月琴 + 1 精品文章
片翼贤者 + 66 效果不错呢!
美丽晨露 + 75 教程奖励(应转到RM技术区)
cinderelmini + 70 凑整狂魔……
kuerlulu + 30 好棒
Anson + 150 精品文章
牛肉面 + 450 教程很详细,菜单的排版不错啊!.

查看全部评分

https://rpg.blue/https://rpg.blue/data/attachment/album/201407/20/204500gw201w4tveh224td.png

Lv2.观梦者 (版主)

脚本白痴

梦石
0
星屑
407
在线时间
902 小时
注册时间
2007-7-9
帖子
1403
2
发表于 2014-7-26 11:19:55 | 只看该作者
就是左边空间空空的是不是能填充点什么呢?

点评

左右应该都是空的,不知道填充什么好呢……有建议么?  发表于 2014-7-26 11:24

正统向RPG-大雄的高井山奇谈
https://rpg.blue/thread-369758-1-1.html
哆啦A梦RTP风格素材
https://rpg.blue/forum.php?mod=viewthread&tid=394608
回复 支持 反对

使用道具 举报

Lv2.观梦者 (版主)

迷途知返,恍如隔世

梦石
0
星屑
488
在线时间
1355 小时
注册时间
2011-2-17
帖子
1216

开拓者

3
发表于 2014-7-26 11:47:35 | 只看该作者
简直炫酷,好漂亮

点评

谢谢,不过我估计这个分辨率没人用吧……  发表于 2014-7-26 11:54
回复 支持 反对

使用道具 举报

Lv2.观梦者

故九江太守

梦石
0
星屑
394
在线时间
2101 小时
注册时间
2012-12-5
帖子
4420
4
发表于 2014-7-26 13:50:32 | 只看该作者
图标状态求移植到Xp

点评

图标状态是va的自带功能外加楼主不会写…所以转换xp实在是无能为力…  发表于 2014-7-26 14:50
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1256
在线时间
6552 小时
注册时间
2010-12-30
帖子
8949
5
发表于 2014-7-26 15:34:33 | 只看该作者
(ΦωΦ)我要学XP的

点评

XP真心不会,不过这个系统其实本质就是一个竖版菜单,其他的全部是坐标和字体调整,移植应该不会太难,但是在下不会xp脚本,所以……只能抱歉...  发表于 2014-7-26 16:12
回复 支持 反对

使用道具 举报

Lv4.逐梦者

「Pemercyia」


Urhurrenna

梦石
0
星屑
9335
在线时间
2745 小时
注册时间
2008-9-5
帖子
3540

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

6
发表于 2014-7-27 20:22:09 | 只看该作者
主要是有合适的素材……
然后就是各种拼拼凑凑……
不过教程造福新人好赞~
教导无能的某人死后复活飘过……

点评

嗯。基本这个教程很多都是6r的老东西.于是我翻出改改坐标在整合一下就发出来了。  发表于 2014-7-27 22:03
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
20
星屑
1840
在线时间
6925 小时
注册时间
2012-12-14
帖子
11485

短篇十战斗者组别冠军开拓者贵宾短篇九勇士组亚军

7
发表于 2014-7-28 23:47:16 | 只看该作者
我只想说这个教程貌似应该在RM技术区发布吧
感觉跟素材区没有多大联系的样子

点评

好吧,觉得界面是游戏图像所以发在这里了。错了的麻烦移动,谢谢。  发表于 2014-7-30 09:54
大家好,这里是晨露的说。请多多指教。
刚入门RM软件制作,请大家多多帮助我哦。
落雪君的欢乐像素教程,欢迎查阅。

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
1042
在线时间
5 小时
注册时间
2014-7-8
帖子
4
8
发表于 2014-7-29 18:12:05 | 只看该作者
本帖最后由 UE5GDFDF 于 2014-7-29 21:48 编辑

楼主大人,为什么我一部一部按着做的,出来效果却完全不一样啊?求楼主帮一下忙,我只要解决名字的问题就好,拜托了,想显示人物名字,图在这里,这是我照着做的。

DFS.JPG (80.29 KB, 下载次数: 24)

DFS.JPG
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
78
在线时间
602 小时
注册时间
2012-4-20
帖子
608
9
 楼主| 发表于 2014-7-30 10:03:06 | 只看该作者
本帖最后由 星月铃音 于 2014-7-30 11:01 编辑
UE5GDFDF 发表于 2014-7-29 18:12
楼主大人,为什么我一部一部按着做的,出来效果却完全不一样啊?求楼主帮一下忙,我只要解决名字的问题就好 ...

@UE5GDFDF
你好,你没有安装字体。这个名字和等级都是单独的字体。
"Old English Text MT"等级的
"华康雅宋体W9(P)"名字的
然后关于字体如果要修改请修改这两个地方
Window_Base中搜索
contents.font.name = ["华康雅宋体W9(P)", "黑体"]
然后修改成这个样子
contents.font.name = "你的字体名字"
这个是名字的
等级的话,搜索
contents.font.name = ["Old English Text MT", "黑体"]
修改如下
contents.font.name = "你的字体名字"
这个是等级的。
另外,这个菜单是800*480分辨率,所以需要一个破除分辨率限制的dll,这个在论坛有
链接如下
https://rpg.blue/forum.php?mod=v ... 6%E8%BE%A8%E7%8E%87
如果不方便修改整体分辨率的话也可以修改脚本里面的坐标。
https://rpg.blue/https://rpg.blue/data/attachment/album/201407/20/204500gw201w4tveh224td.png
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
75 小时
注册时间
2011-8-1
帖子
12
10
发表于 2014-7-30 19:55:04 | 只看该作者
改完之后等级描绘不能怎么办……

查看角色个人状态时会出错

点评

好的。  发表于 2014-7-30 21:40
咱不急……你慢慢弄就好~  发表于 2014-7-30 21:33
没事,晚些给你好么?  发表于 2014-7-30 21:32
星月你真好~抱住~  发表于 2014-7-30 21:31
汗 确实塞了不少别的脚本……工程已扔到度娘盘,http://pan.baidu.com/s/1gduydgf  发表于 2014-7-30 21:30
犯神经是精神正常的行为 = =
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-4-26 12:46

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表