注册会员 登录
Project1 返回首页

喵呜喵5的树洞 https://rpg.blue/?291206 [收藏] [复制] [分享] [RSS]

日志

【脚本】包含立绘的美化型菜单

热度 50已有 12358 次阅读2013-11-6 00:34 |个人分类:脚本

=begin
===============================================================================
  包含立绘的美化型菜单 By喵呜喵5
===============================================================================

  【说明】

  一个可以显示立绘的游戏菜单,
  如果会脚本的话可以直接动手修改脚本的代码使这个菜单更加适应你的游戏,
  如果不会脚本的话……默认的样式我也挺满意的啦。

  立绘的文件名为队伍中第一名角色的昵称(称号、nickname),
  游戏中昵称改变后显示的立绘也会随之变化,放在“Graphics/m5lihui/”文件夹下。

  这个菜单主要用于解谜游戏,所以我不负责调整针对装备、技能功能的兼容。

=end
$m5script ||= {}; $m5script[:M5Menu20150325] = 20160714
module M5Menu20150325
#==============================================================================
#  设定部分
#==============================================================================

  COMMAND = ["查看物品", "读取存档"]

  # 这里设置在菜单中显示的指令名称
  # 如果不懂脚本的话,不建议增加更多的指令

  SCENE = [Scene_Item, Scene_Load]

  # 这里设置执行每条指令后游戏需要跳转到的场景,与上面的指令名称一一对应
  # 如果不懂脚本的话,不建议修改这里
  # (如果一定要添加某个指令的话,可以尝试这么做:
  #   在对应的脚本中搜索 SceneManager.call ,然后填入这条代码里括号中的文字)

  WIDTH = 272

  # 这里设置指令窗口的宽度

  HEIGHT = 60

  # 这里设置指令窗口的高度

  FONT = 28

  # 这里设置指令字体的大小

  X = 220

  # 这里设置指令窗口的X坐标

  Y = 148

  # 这里设置指令窗口的Y坐标

  Y_OFF = 60

  # 这里设置两条指令之间的距离

  SWI = 1

  # 这里设置一个开关的ID,当这个开关打开的时候显示正常的菜单

  OVER = true

  # 设置为 false 时,选项框显示在立绘的上方

#==============================================================================
#  设定结束
#==============================================================================
class Window_M5MenuCommand < Window_Base
  def initialize(index)
    super(X, Y, WIDTH, HEIGHT)
    self.y += (Y_OFF + HEIGHT) * index
    self.arrows_visible = false
    contents.font.size = FONT
    draw_text(0, 0, contents.width, contents.height , COMMAND[index], 1)
    @selected = false
  end
  def selected=(selected)
    @selected = selected
    update_cursor
  end
  def update_cursor
    if @selected
      cursor_rect.set(0, 0, contents.width, contents.height)
    else
      cursor_rect.empty
    end
  end
end
class Scene_M5Menu < Scene_MenuBase
  def start
    super
    create_lihui
    create_command_windows
    @index ||= 0
    update_cursor
  end
  def create_lihui
    @lihui_sprite = Sprite.new
    @lihui_sprite.bitmap = Bitmap.new(
      "Graphics/m5lihui/#{$game_party.members[0].nickname}") rescue nil
    @lihui_sprite.z = 500 if OVER
  end
  def create_command_windows
    @command_windows = Array.new(item_max) do |i|
      Window_M5MenuCommand.new(i)
    end
  end
  def update
    super
    @command_windows.each(&:update)
    update_selection
  end
  def update_selection
    last_index = @index
    ( @index += 1 ) if Input.repeat?(:DOWN)
    ( @index -= 1 ) if Input.repeat?(:UP)
    @index %= item_max
    if @index != last_index
      Sound.play_cursor
      update_cursor
    end
    return on_command_ok     if Input.trigger?(:C)
    return on_command_cancel if Input.trigger?(:B)
  end
  def update_cursor
    @command_windows.each {|window| window.selected = false }
    @command_windows[@index].selected = true
  end
  def on_command_ok
    SceneManager.call( SCENE[@index] )
    Input.update
  end
  def on_command_cancel
    Sound.play_cancel
    return_scene
  end
  def item_max
    COMMAND.size
  end
  def terminate
    super
    @lihui_sprite.bitmap.dispose if @lihui_sprite.bitmap
    @lihui_sprite.dispose
    @command_windows.each(&:dispose)
  end
end
end # M5Menu20150325
class Game_Interpreter
  alias m5_20140220_command_351 command_351
  def command_351
    return m5_20140220_command_351 if $game_switches[M5Menu20150325::SWI]
    return if $game_party.in_battle
    SceneManager.call(M5Menu20150325::Scene_M5Menu)
    Fiber.yield
  end
end
class Scene_Map
  alias m5_20140220_call_menu call_menu
  def call_menu
    return m5_20140220_call_menu if $game_switches[M5Menu20150325::SWI]
    Sound.play_ok
    SceneManager.call(M5Menu20150325::Scene_M5Menu)
  end
end

14

鸡蛋
3

鲜花

刚表态过的朋友 (17 人)

发表评论 评论 (70 个评论)

回复 咖喱卡卡 2013-11-6 13:46
第68行return 0这里总是显示语法错误肿么办
回复 咖喱卡卡 2013-11-6 13:48
电脑抽了我错了
回复 喵呜喵5 2013-11-7 18:24
咖喱卡卡: 电脑抽了我错了
错误说明是什么?
回复 咖喱卡卡 2013-11-8 19:05
喵呜喵5: 错误说明是什么?
已经解决了,是全圆空格的问题www
回复 113340 2013-11-21 00:43
喵神,我最近在做一个类文字冒险游戏,我想用把你的线索整合的放在这个脚本里,请问应该做
(想一打开菜单就只有物品调查,线索整合,和读取进度3个选项······)
回复 喵呜喵5 2013-11-21 07:25
113340: 喵神,我最近在做一个类文字冒险游戏,我想用把你的线索整合的放在这个脚本里,请问应该做
(想一打开菜单就只有物品调查,线索整合,和读取进度3个选项···· ...
脚本开头的设置改成这样:
COMMAND = ["查看物品","线索整合","读取存档"]
SCENE = ["Scene_Item","Scene_Combin","Scene_Load"]
回复 113340 2013-11-21 08:32
喵呜喵5: 脚本开头的设置改成这样:
COMMAND = [&quot;查看物品&quot;,&quot;线索整合&quot;,&quot;读取存档&quot;]
SCENE = [&quot;Scene_Item&quot;,&quot;Scene_Combin ...
感激不尽!
回复 花在 2013-12-12 18:14
【脚本第131行:发生NameError
uninitialized class variable @@menu_last_command in window_M5MenuCommand】
存档之后按ESC呼出菜单就会弹出这个窗口……肿么办……
回复 喵呜喵5 2013-12-12 18:20
花在: 【脚本第131行:发生NameError
uninitialized class variable @@menu_last_command in window_M5MenuCommand】
存档之后按ESC呼出菜单就会弹出这个窗口……肿么 ...
载入脚本后重新开始游戏时新存档也会发生这个问题吗?
回复 喵呜喵5 2013-12-12 18:57
花在: 【脚本第131行:发生NameError
uninitialized class variable @@menu_last_command in window_M5MenuCommand】
存档之后按ESC呼出菜单就会弹出这个窗口……肿么 ...
脚本已修正
回复 野生の小A酱 2013-12-13 18:19
有一个问题,就是菜单中的立绘可以变化吗?当什么开关开启的时候,立绘换成另一个表情
回复 喵呜喵5 2013-12-13 19:44
野生の小A酱: 有一个问题,就是菜单中的立绘可以变化吗?当什么开关开启的时候,立绘换成另一个表情
请看脚本开头的说明......
回复 花在 2013-12-14 23:29
喵呜喵5: 脚本已修正
好了,谢谢o(*////▽////*)q
回复 怀念过去 2013-12-16 12:41
uninitialized constant SCENE_M5MENU::COMBIN 插入线索脚本后 第165出现咋办
回复 喵呜喵5 2013-12-16 12:50
怀念过去: uninitialized constant SCENE_M5MENU::COMBIN 插入线索脚本后 第165出现咋办
请问你是怎么插入的?我感觉应该是你的大小写或者什么地方写错了(多打了什么字母)
回复 喵呜喵5 2013-12-16 12:52
怀念过去: uninitialized constant SCENE_M5MENU::COMBIN 插入线索脚本后 第165出现咋办
插入线索整合脚本后,在这个脚本的开头是这么设置的:
COMMAND = ["查看物品","读取存档","线索整合"]
SCENE = ["Scene_Item","Scene_Load","Scene_Combin"]
请和你自己的设置对比一下
回复 怀念过去 2013-12-16 12:56
COMMAND = ["查看物品","合成物品","读取存档","退出游戏"]
  
  #这里设置在菜单中显示的指令名称
  #如果不懂脚本的话,不建议增加更多的指令
  
  SCENE = ["Scene_Item","Combin","Scene_Load","game_end"]

加入了个game_end 退出游戏 也是165行出错 如何设置才没错
回复 喵呜喵5 2013-12-16 13:02
怀念过去: COMMAND = [&quot;查看物品&quot;,&quot;合成物品&quot;,&quot;读取存档&quot;,&quot;退出游戏&quot;]
  
  #这里设置在菜单中显示的指令名称
  #如果不懂脚本的 ...
SCENE = ["Scene_Item","Scene_Combin","Scene_Load","Scene_End"]
回复 怀念过去 2013-12-16 13:08
   可以了 一定要来玩哦!
回复 香草奶酪 2013-12-28 16:55
请问可以在里面添加一个选项用来查看CG吗?
1234下一页

facelist doodle 涂鸦笔

您需要登录后才可以评论 登录 | 注册会员

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

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

GMT+8, 2024-5-4 09:06

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

返回顶部