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

Project1

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

[已经过期] 請問如何修改主菜單以外的介面(物品、裝備等)

[复制链接]

Lv1.梦旅人

梦石
0
星屑
129
在线时间
99 小时
注册时间
2012-11-7
帖子
36
跳转到指定楼层
1
发表于 2015-4-7 01:56:40 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
修改了主菜單的指令和框的大小等…
想要繼續修改物品欄卻出錯連連@@
搜尋的結果好像xp的比較多,不過我想問va的@@

想請問要修改物品欄位(分類、物品清單、說明…)的位置和大小得改哪些參數?
謝謝



Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

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

开拓者短篇九导演组冠军

2
发表于 2015-4-7 07:29:22 | 只看该作者
本帖最后由 VIPArcher 于 2015-4-7 11:02 编辑

修改其他界面和修改主菜单方式完全相同……

建议你附上你所修改的内容和出错详情

评分

参与人数 1星屑 +1 收起 理由
VIPArcher + 1 简易 => 建议

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
129
在线时间
99 小时
注册时间
2012-11-7
帖子
36
3
 楼主| 发表于 2015-4-8 00:15:32 | 只看该作者
本帖最后由 lanlan1923 于 2015-4-8 00:20 编辑


想把help移到下方對齊,不過移動下來後改窗口寬度高度什麼也沒反應了…
調整高度也會出錯,fitting_height(line_number看不明白是什麼?
不知怎麼的說明欄會被分類和列表蓋住
RUBY 代码复制
  1. #==============================================================================
  2. # ■ Window_Help
  3. #------------------------------------------------------------------------------
  4. #  顯示特技和物品等的說明、以及角色狀態的窗口
  5. #==============================================================================
  6.  
  7. class Window_Help < Window_Base
  8.   #--------------------------------------------------------------------------
  9.   # ● 初始化對象
  10.   #--------------------------------------------------------------------------
  11.   def initialize(line_number = 2)
  12. #~     super(0, 0, Graphics.width, fitting_height(line_number))
  13.      super(0, 400, Graphics.width, fitting_height(line_number))#?改成數字整個畫面都跑掉@@
  14.    end
  15.   #--------------------------------------------------------------------------
  16.   # ● 獲取窗口的寬度 沒反應?
  17.   #--------------------------------------------------------------------------
  18.   def window_width
  19.      Graphics.width
  20.   end  
  21.   #--------------------------------------------------------------------------
  22.   # ● 獲取窗口的高度 沒反應?
  23.   #--------------------------------------------------------------------------
  24.   def window_height
  25.     400
  26.   end   
  27.   #--------------------------------------------------------------------------
  28.   # ● 設置內容
  29.   #--------------------------------------------------------------------------
  30.   def set_text(text)
  31.     if text != @text
  32.       @text = text
  33.       refresh
  34.     end
  35.   end
  36.   #--------------------------------------------------------------------------
  37.   # ● 清除
  38.   #--------------------------------------------------------------------------
  39.   def clear
  40.     set_text("")
  41.   end
  42.   #--------------------------------------------------------------------------
  43.   # ● 設置物品
  44.   #     item : 技能、物品等
  45.   #--------------------------------------------------------------------------
  46.   def set_item(item)
  47.     set_text(item ? item.description : "")
  48.   end
  49.   #--------------------------------------------------------------------------
  50.   # ● 刷新
  51.   #--------------------------------------------------------------------------
  52.   def refresh
  53.     contents.clear
  54.     draw_text_ex(4, 0, @text)
  55.   end
  56. end


物品分類的部分想再往上一點(保留主選單的空間)
不過一調就狂出錯,會跳到會跳到@category_window = Window_ItemCategory.new(這個也看不明白怎麼了)
RUBY 代码复制
  1. #==============================================================================
  2. # ■ Window_ItemCategory
  3. #------------------------------------------------------------------------------
  4. #  物品畫面和商店畫面中,顯示裝備、所持物品等項目列表的窗口。
  5. #==============================================================================
  6.  
  7. class Window_ItemCategory < Window_HorzCommand
  8.   #--------------------------------------------------------------------------
  9.   # ● 定義實例變量
  10.   #--------------------------------------------------------------------------
  11.   attr_reader   :item_window
  12.   #--------------------------------------------------------------------------
  13.   # ● 初始化對象
  14.   #--------------------------------------------------------------------------
  15. #~   def initialize (x,y,width,height)
  16. #~       super(400, 48,400,400)#    會跳到@category_window = Window_ItemCategory.new
  17. #~   end
  18.   def initialize
  19.     super(400, 0) #道具分類往右移
  20.  
  21.   end
  22.   #--------------------------------------------------------------------------
  23.   # ● 獲取窗口的寬度
  24.   #--------------------------------------------------------------------------
  25.   def window_width
  26. #~     Graphics.width
  27.     400
  28.   end
  29.   #--------------------------------------------------------------------------
  30.   # ● 獲取列數
  31.   #--------------------------------------------------------------------------
  32.   def col_max
  33.     return 2
  34.   end
  35.   #--------------------------------------------------------------------------
  36.   # ● 更新畫面
  37.   #--------------------------------------------------------------------------
  38.   def update
  39.     super
  40.     @item_window.category = current_symbol if @item_window
  41.   end
  42.   #--------------------------------------------------------------------------
  43.   # ● 生成指令列表
  44.   #--------------------------------------------------------------------------
  45.   def make_command_list
  46.     add_command(Vocab::item,     :item)
  47. #~     add_command(Vocab::weapon,   :weapon)
  48. #~     add_command(Vocab::armor,    :armor)
  49.     add_command(Vocab::key_item, :key_item)
  50.   end
  51.   #--------------------------------------------------------------------------
  52.   # ● 設置物品窗口
  53.   #--------------------------------------------------------------------------
  54.   def item_window=(item_window)
  55.     @item_window = item_window
  56.     update
  57.   end
  58. end


物品列表的部分暫時位置和高度是和分類欄對齊了…
但搜到有個帖子說改這個窗口大小應該要改Window_ItemList.new(0, wy, Graphics.width, wh)?
是代表列表欄會緊貼分類嗎?不是很明白是哪個高度減哪個,效果又是什麼?
目前貌似是沒什麼問題?還是附上我改的

RUBY 代码复制
  1. #==============================================================================
  2. # ■ Window_ItemList
  3. #------------------------------------------------------------------------------
  4. #  物品畫面中,顯示持有物品的窗口。
  5. #==============================================================================
  6.  
  7. class Window_ItemList < Window_Selectable
  8.   #--------------------------------------------------------------------------
  9.   # ● 初始化對象
  10.   #--------------------------------------------------------------------------
  11.   def initialize(x, y, width, height)
  12. #~     super
  13.     super(400,120,400,400)#變成小格和物品分類欄對齊
  14.     @category = :none #?
  15.     @data = [] #?
  16.   end
  17.   #--------------------------------------------------------------------------
  18.   # ● 獲取窗口的寬度
  19.   #--------------------------------------------------------------------------
  20. #~   def window_width
  21. #~      400
  22. #~   end
  23.  
  24.   #--------------------------------------------------------------------------
  25.   # ● 設置分類
  26.   #--------------------------------------------------------------------------
  27.   def category=(category)
  28.     return if @category == category
  29.     @category = category
  30.     refresh
  31.     self.oy = 0
  32.   end
  33.   #--------------------------------------------------------------------------
  34.   # ● 獲取列數
  35.   #--------------------------------------------------------------------------
  36.   def col_max
  37.     return 2
  38.   end
  39.   #--------------------------------------------------------------------------
  40.   # ● 獲取項目數
  41.   #--------------------------------------------------------------------------
  42.   def item_max
  43.     @data ? @data.size : 1
  44.   end
  45.   #--------------------------------------------------------------------------
  46.   # ● 獲取物品
  47.   #--------------------------------------------------------------------------
  48.   def item
  49.     @data && index >= 0 ? @data[index] : nil
  50.   end
  51.   #--------------------------------------------------------------------------
  52.   # ● 獲取選擇項目的有效狀態
  53.   #--------------------------------------------------------------------------
  54.   def current_item_enabled?
  55.     enable?(@data[index])
  56.   end
  57.   #--------------------------------------------------------------------------
  58.   # ● 查詢列表中是否含有此物品
  59.   #--------------------------------------------------------------------------
  60.   def include?(item)
  61.     case @category
  62.     when :item
  63.       item.is_a?(RPG::Item) && !item.key_item?
  64.     when :weapon
  65.       item.is_a?(RPG::Weapon)
  66.     when :armor
  67.       item.is_a?(RPG::Armor)
  68.     when :key_item
  69.       item.is_a?(RPG::Item) && item.key_item?
  70.     else
  71.       false
  72.     end
  73.   end
  74.   #--------------------------------------------------------------------------
  75.   # ● 查詢此物品是否可用
  76.   #--------------------------------------------------------------------------
  77.   def enable?(item)
  78.     $game_party.usable?(item)
  79.   end
  80.   #--------------------------------------------------------------------------
  81.   # ● 生成物品列表
  82.   #--------------------------------------------------------------------------
  83.   def make_item_list
  84.     @data = $game_party.all_items.select {|item| include?(item) }
  85.     @data.push(nil) if include?(nil)
  86.   end
  87.   #--------------------------------------------------------------------------
  88.   # ● 返回上一個選擇的位置
  89.   #--------------------------------------------------------------------------
  90.   def select_last
  91.     select(@data.index($game_party.last_item.object) || 0)
  92.   end
  93.   #--------------------------------------------------------------------------
  94.   # ● 繪制項目
  95.   #--------------------------------------------------------------------------
  96.   def draw_item(index)
  97.     item = @data[index]
  98.     if item
  99.       rect = item_rect(index)
  100.       rect.width -= 4
  101.       draw_item_name(item, rect.x, rect.y, enable?(item))
  102.       draw_item_number(rect, item)
  103.     end
  104.   end
  105.   #--------------------------------------------------------------------------
  106.   # ● 繪制物品個數
  107.   #--------------------------------------------------------------------------
  108.   def draw_item_number(rect, item)
  109.     draw_text(rect, sprintf(":%2d", $game_party.item_number(item)), 2)
  110.   end
  111.   #--------------------------------------------------------------------------
  112.   # ● 更新幫助內容
  113.   #--------------------------------------------------------------------------
  114.   def update_help
  115.     @help_window.set_item(item)
  116.   end
  117.   #--------------------------------------------------------------------------
  118.   # ● 刷新
  119.   #--------------------------------------------------------------------------
  120.   def refresh
  121.     make_item_list
  122.     create_contents
  123.     draw_all_items
  124.   end
  125. end


幾乎都是看著主選單寫什麼就改什麼的,只要出現不一樣的參數就看不明白orz有點無從查起
回复 支持 反对

使用道具 举报

Lv2.观梦者 (暗夜天使)

卑微的梦

梦石
0
星屑
523
在线时间
820 小时
注册时间
2013-2-23
帖子
1185

短篇九勇士组季军

4
发表于 2015-4-8 14:26:43 手机端发表。 | 只看该作者
其实帮助窗口是多个场景共用的,我建议你仿照帮助窗口重新写一个独立的出来

点评

w(゚Д゚)w建议找一个脚本触手把手教一下  发表于 2015-4-9 13:33
是直接複制help再改名(例如叫newhelp什麼的?),之後改新的那個?(就不會影響到舊的??不是很明白)  发表于 2015-4-8 22:58
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 03:15

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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