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

Project1

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

[已经解决] 如何把游戏菜单改成这种形式?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
92 小时
注册时间
2013-9-14
帖子
201
跳转到指定楼层
1
发表于 2013-11-4 07:12:58 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 野生の小A酱 于 2013-11-10 06:13 编辑

(っ´ω`c) 形式就是图片一样:

没有边框和文字的就是当前游戏景象。

未命名.JPG (33.85 KB, 下载次数: 26)

未命名.JPG

点评

附圖是完全沒辦法的呢....... 就是在Window_Menu類的生成窗口時的大小修改....(雖然我不知道你把存檔跟物品分那麼開是要怎麼操作.....)  发表于 2013-11-5 08:20
新做不恐怖解密游戏生事中,估计会坑呢

自己画的立绘会放在这里

Lv2.观梦者

梦石
0
星屑
362
在线时间
1292 小时
注册时间
2013-1-12
帖子
3590

贵宾

2
发表于 2013-11-4 08:36:12 | 只看该作者
X坐標及Y坐標改一下就行惹.....
還有窗口高跟窗口寬改一改......
立繪的話就Sprite.new生成吧........

点评

只是不知道该怎么显示立绘ORZ  发表于 2013-11-5 15:25
脚本都搞不懂呢,能附图说的详细一点吗?我会尝试改改  发表于 2013-11-4 12:33

回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21631
在线时间
9415 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

3
发表于 2013-11-6 00:34:45 | 只看该作者
本帖最后由 喵呜喵5 于 2013-11-7 18:20 编辑

  1. =begin
  2. ===============================================================================
  3.   包含立绘的美化型菜单 By喵呜喵5
  4. ===============================================================================

  5.   【说明】
  6.   
  7.   一个可以显示立绘的游戏菜单
  8.   如果会脚本的话可以直接动手修改脚本的代码使这个菜单更加适应你的游戏
  9.   如果不会脚本的话……默认的样式我也挺满意的啦
  10.   
  11.   立绘的文件名为队伍中第一名角色的昵称,放在“Graphics/m5lihui/”文件夹下
  12.   
  13.   这个菜单主要用于适应解谜游戏,所以我不负责调整针对装备、技能功能的兼容

  14. =end
  15. module M5Menu
  16. #==============================================================================
  17. #  设定部分
  18. #==============================================================================
  19.   
  20.   COMMAND = ["查看物品","读取存档"]
  21.   
  22.   #这里设置在菜单中显示的指令名称
  23.   #如果不懂脚本的话,不建议增加更多的指令
  24.   
  25.   SCENE = ["Scene_Item","Scene_Load"]
  26.   
  27.   #这里设置执行每条指令后游戏需要跳转到的场景,与上面的指令名称一一对应
  28.   #如果不懂脚本的话,不建议修改这里
  29.   
  30.   WIDTH = 272
  31.   #这里设置指令窗口的宽度
  32.   
  33.   HEIGHT = 60
  34.   #这里设置指令窗口的高度
  35.   
  36.   FONT = 28
  37.   #这里设置指令字体的大小
  38.   
  39.   X = 220
  40.   #这里设置指令窗口的X坐标
  41.   
  42.   Y = 148
  43.   #这里设置指令窗口的Y坐标
  44.   
  45.   Y_OFF = 60
  46.   #这里设置两条指令之间的距离
  47.   
  48.   MEMO = true
  49.   #在下次打开菜单时让光标会自动移动到上次关闭菜单时的位置
  50.   #如果不需要这个功能,设置成false即可
  51.   
  52. #==============================================================================
  53. #  设定结束
  54. #==============================================================================  
  55. end
  56. module Cache
  57.   def self.m5lihui(filename)
  58.     load_bitmap("Graphics/m5lihui/", filename)
  59.   end
  60. end
  61. class Window_M5MenuStatus < Window_Base
  62.   def initialize
  63.     super(0, 0, Graphics.width, Graphics.height)
  64.     self.z = 200
  65.     self.opacity = 0
  66.     [url=home.php?mod=space&uid=95897]@actor[/url] = $game_party.members[0]
  67.     refresh
  68.   end
  69.   def standard_padding
  70.     return 0
  71.   end
  72.   def set_text(text)
  73.     if $game_party.members[0].id != @actor.id
  74.       @actor = $game_party.members[0]
  75.       refresh
  76.     end
  77.   end
  78.   def refresh
  79.     contents.clear
  80.     draw_actor_lihui
  81.   end
  82.   def draw_actor_lihui
  83.     bitmap = Cache.m5lihui(@actor.nickname)
  84.     rect = Rect.new(0, 0, Graphics.width, Graphics.height)
  85.     contents.blt(0, 0, bitmap, rect, 255)
  86.     bitmap.dispose
  87.   end  
  88. end
  89. class Window_M5MenuCommand < Window_Base
  90.   attr_reader   :selected
  91.   def self.init_command_position
  92.     @@menu_last_command = 0 if !M5Menu::MEMO
  93.   end
  94.   def self.init_command_position_without
  95.     @@menu_last_command = 0
  96.   end
  97.   def initialize(index)
  98.     super(M5Menu::X,win_y(index),M5Menu::WIDTH,M5Menu::HEIGHT)
  99.     self.arrows_visible = false
  100.     @text = M5Menu::COMMAND[index]
  101.     refresh
  102.     @selected = false
  103.   end
  104.   def win_y(index)
  105.     M5Menu::Y + (M5Menu::Y_OFF + M5Menu::HEIGHT) * index
  106.   end
  107.   def caloff
  108.     standard_padding * 2
  109.   end
  110.   def refresh
  111.     contents.clear
  112.     contents.font.size = M5Menu::FONT
  113.     draw_text(0, 0, self.width - caloff, self.height - caloff, @text,1)
  114.   end
  115.   def selected=(selected)
  116.     @selected = selected
  117.     update_cursor
  118.   end
  119.   def update_cursor
  120.     if @selected
  121.       cursor_rect.set(0, 0, self.width - caloff, self.height - caloff)
  122.     else
  123.       cursor_rect.empty
  124.     end
  125.   end
  126.   def menu_last_command
  127.     @@menu_last_command
  128.   end
  129.   def menu_last_command=(last_command)
  130.     @@menu_last_command = last_command
  131.   end
  132. end
  133. class Scene_M5Menu < Scene_MenuBase
  134.   def start
  135.     super
  136.     create_status_windows
  137.     create_command_windows
  138.     init_selection
  139.   end
  140.   def terminate
  141.     super
  142.     @command_windows.each {|window| window.dispose }
  143.   end
  144.   def update
  145.     super
  146.     @command_windows.each {|window| window.update }
  147.     update_savefile_selection
  148.   end  
  149.   def create_status_windows
  150.     @status_windows = Window_M5MenuStatus.new
  151.   end
  152.   def create_command_windows
  153.     @command_windows = Array.new(item_max) do |i|
  154.       Window_M5MenuCommand.new(i)
  155.     end  
  156.   end
  157.   def init_selection
  158.     [url=home.php?mod=space&uid=370741]@Index[/url] = @command_windows[0].menu_last_command
  159.     @command_windows[@index].selected = true
  160.   end  
  161.   def update_savefile_selection
  162.     return on_command_ok     if Input.trigger?(:C)
  163.     return on_command_cancel if Input.trigger?(:B)
  164.     update_cursor
  165.   end
  166.   def on_command_ok
  167.     @command_windows[0].menu_last_command = @index
  168.     SceneManager.call(eval(M5Menu::SCENE[@index]))
  169.     Input.update
  170.   end
  171.   def on_command_cancel
  172.     @command_windows[0].menu_last_command = @index
  173.     Sound.play_cancel
  174.     return_scene
  175.   end
  176.   def update_cursor
  177.     last_index = @index
  178.     cursor_down (Input.trigger?(:DOWN))  if Input.repeat?(:DOWN)
  179.     cursor_up   (Input.trigger?(:UP))    if Input.repeat?(:UP)
  180.     if @index != last_index
  181.       Sound.play_cursor
  182.       @command_windows[last_index].selected = false
  183.       @command_windows[@index].selected = true
  184.     end
  185.   end
  186.   def cursor_down(wrap)
  187.     @index = (@index + 1) % item_max
  188.   end
  189.   def cursor_up(wrap)
  190.     @index = (@index - 1) % item_max
  191.   end  
  192.   def item_max
  193.     M5Menu::COMMAND.size
  194.   end
  195. end
  196. class << DataManager
  197.   alias m5_20131107_setup_new_game setup_new_game
  198.   def setup_new_game
  199.     m5_20131107_setup_new_game
  200.     Window_MenuCommand::init_command_position_without
  201.   end
  202. end
  203. Window_MenuCommand = Window_M5MenuCommand
  204. Scene_Menu = Scene_M5Menu
复制代码

点评

立绘已经成功改好了,就是那个简化菜单如何使用,直接插入?  发表于 2013-11-8 22:10
记得删除论坛自动添加的[url]  发表于 2013-11-6 02:42
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
92 小时
注册时间
2013-9-14
帖子
201
4
 楼主| 发表于 2013-11-6 19:16:28 | 只看该作者
喵呜喵5 发表于 2013-11-6 00:34

喵呜大大表示有一个问题呢,因为我的是立绘半身像,比较娇小……
于是就是这个样子:
该怎么办呢?
然后物品里的武器该怎么去掉呢

11.jpg (92.6 KB, 下载次数: 25)

11.jpg

点评

谢谢喵呜大大了,已经成功了  发表于 2013-11-9 14:59
直接插入《物品菜单简化》脚本,脚本开头的设置:INCLUDE依照你自己的游戏需要设置,MENU设置为false,SWI随意  发表于 2013-11-8 22:15
http://bbs.66rpg.com/home.php?mod=space&uid=291206&do=blog&id=12247  发表于 2013-11-8 20:14
新做不恐怖解密游戏生事中,估计会坑呢

自己画的立绘会放在这里
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21631
在线时间
9415 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

5
发表于 2013-11-6 19:58:44 | 只看该作者
本帖最后由 喵呜喵5 于 2013-11-8 20:14 编辑
野生の小A酱 发表于 2013-11-6 19:16
喵呜大大表示有一个问题呢,因为我的是立绘半身像,比较娇小……
于是就是这个样子:
该怎么办呢?


关于立绘的位置,新建一个你屏幕大小(默认544*416)的透明png图片,把立绘作为一个图层摆到这个图片上,然后使用这个图片作为立绘文件放到对应的文件夹下,之后你的立绘在这张图片上的大小、位置就是实际显示在游戏画面中的大小、位置了


效果图中的设置
立绘位置:
(71,181)
脚本设置:
  X = 200
  #这里设置指令窗口的X坐标  
  Y = 238
  #这里设置指令窗口的Y坐标  
  Y_OFF = 30
  #这里设置两条指令之间的距离



@野生の小A酱 脚本已更新,修正一处光标BUG,增加光标记忆功能

点评

谢谢喵呜大大了,已经成功了  发表于 2013-11-9 15:02
不过不需要的代码是哪里呢…… 先感谢喵呜大大了  发表于 2013-11-7 19:02
谢谢喵呜大大,【鞠躬  发表于 2013-11-7 18:56
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 06:52

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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