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

Project1

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

[已经解决] 关于装备窗口显示属性的问题!高手们请帮助!

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
130 小时
注册时间
2012-1-25
帖子
42
跳转到指定楼层
1
发表于 2012-2-17 13:37:59 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 wdcccyyy 于 2012-2-17 13:43 编辑

  在装备窗口只显示了3个属性,攻击力,物理防御力,魔法防御力,我想让力量,敏捷等属性也一起显示,该如何做到,我觉得现在的显示属性窗口太小了,显示内容也太少了!
  请大家帮忙谢谢!

Lv1.梦旅人

饕餮

梦石
0
星屑
222
在线时间
677 小时
注册时间
2011-5-9
帖子
486
2
发表于 2012-2-17 13:47:55 | 只看该作者
  1. #==============================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #==============================================================================

  4. # 装备属性显示-随机装备生成系统专用版

  5. # By 亿万星辰(整合:叶子)

  6. # 不能脱离随机装备生成系统使用!

  7. #==============================================================================
  8. # ■ Window_Base
  9. #------------------------------------------------------------------------------
  10. #  游戏中全部窗口的超级类。
  11. #==============================================================================

  12. class Window_Base < Window
  13.   def up_color
  14.     return text_color(3)
  15.   end
  16.   def down_color
  17.     return text_color(2)
  18.   end
  19.   #--------------------------------------------------------------------------
  20.   # ● 描绘能力值
  21.   #     actor : 角色
  22.   #     x     : 描画目标 X 坐标
  23.   #     y     : 描画目标 Y 坐标
  24.   #     type  : 能力值种类 (0~6)
  25.   #--------------------------------------------------------------------------
  26.   def draw_actor_parameter(actor, x, y, type)
  27.     case type
  28.     when 0
  29.       parameter_name = $data_system.words.atk
  30.       parameter_value = actor.atk
  31.     when 1
  32.       parameter_name = $data_system.words.pdef
  33.       parameter_value = actor.pdef
  34.     when 2
  35.       parameter_name = $data_system.words.mdef
  36.       parameter_value = actor.mdef
  37.     when 3
  38.       parameter_name = $data_system.words.str
  39.       parameter_value = actor.str
  40.     when 4
  41.       parameter_name = $data_system.words.dex
  42.       parameter_value = actor.dex
  43.     when 5
  44.       parameter_name = $data_system.words.agi
  45.       parameter_value = actor.agi
  46.     when 6
  47.       parameter_name = $data_system.words.int
  48.       parameter_value = actor.int
  49.     ###############################################################
  50.     when 7
  51.       parameter_name = "回避"
  52.       parameter_value = actor.eva
  53.     end
  54.     self.contents.font.color = system_color
  55.     self.contents.draw_text(x, y, 120, 32, parameter_name)
  56.     self.contents.font.color = normal_color
  57.     self.contents.draw_text(x + 120, y, 36, 32, parameter_value.to_s, 2)
  58.   end
  59. end

  60. #==============================================================================
  61. # ■ Window_EquipLeft
  62. #------------------------------------------------------------------------------
  63. #  装备画面的、显示角色能力值变化的窗口。
  64. #==============================================================================

  65. class Window_EquipLeft < Window_Base
  66.   UP_ICON = "048-Skill05"
  67.   DOWN_ICON = "047-Skill04"
  68.   #--------------------------------------------------------------------------
  69.   # ● 初始化对像
  70.   #     actor : 角色
  71.   #--------------------------------------------------------------------------
  72.   def initialize(actor)
  73.     super(0, 64, 272, 416)
  74.     self.contents = Bitmap.new(width - 32, height - 32)
  75.     @actor = actor
  76.     refresh
  77.   end
  78.   #--------------------------------------------------------------------------
  79.   # ● 刷新
  80.   #--------------------------------------------------------------------------
  81.   def refresh
  82.     self.contents.clear
  83.     draw_actor_name(@actor, 4, 0)
  84.     draw_actor_level(@actor, 4, 32)
  85.     ###############################################################
  86.     draw_actor_parameter(@actor, 4, 64, 0)
  87.     draw_actor_parameter(@actor, 4, 96, 1)
  88.     draw_actor_parameter(@actor, 4, 128, 2)
  89.     draw_actor_parameter(@actor, 4, 160, 7)
  90.     draw_actor_parameter(@actor, 4, 192, 3)
  91.     draw_actor_parameter(@actor, 4, 224, 4)
  92.     draw_actor_parameter(@actor, 4, 256, 5)
  93.     draw_actor_parameter(@actor, 4, 288, 6)
  94.     if @new_atk != nil
  95.       if @new_atk > @actor.atk
  96.         self.contents.blt(164, 64, RPG::Cache.icon(UP_ICON), Rect.new(0, 0, 24, 24))
  97.       elsif @new_atk < @actor.atk
  98.         self.contents.blt(164, 64, RPG::Cache.icon(DOWN_ICON), Rect.new(0, 0, 24, 24))
  99.       end
  100.       self.contents.font.color = @new_atk>@actor.atk ? up_color : down_color
  101.       self.contents.font.color = normal_color if @new_atk == @actor.atk
  102.       self.contents.draw_text(200, 64, 36, 32, @new_atk.to_s, 2)
  103.     end
  104.     if @new_pdef != nil
  105.       if @new_pdef > @actor.pdef
  106.         self.contents.blt(164, 96, RPG::Cache.icon(UP_ICON), Rect.new(0, 0, 24, 24))
  107.       elsif @new_pdef < @actor.pdef
  108.         self.contents.blt(164, 96, RPG::Cache.icon(DOWN_ICON), Rect.new(0, 0, 24, 24))
  109.       end
  110.       self.contents.font.color = @new_pdef>@actor.pdef ? up_color : down_color
  111.       self.contents.font.color = normal_color if @new_pdef == @actor.pdef
  112.       self.contents.draw_text(200, 96, 36, 32, @new_pdef.to_s, 2)
  113.     end
  114.     if @new_mdef != nil
  115.       if @new_mdef > @actor.mdef
  116.         self.contents.blt(164, 128, RPG::Cache.icon(UP_ICON), Rect.new(0, 0, 24, 24))
  117.       elsif @new_mdef < @actor.mdef
  118.         self.contents.blt(164, 128, RPG::Cache.icon(DOWN_ICON), Rect.new(0, 0, 24, 24))
  119.       end
  120.       self.contents.font.color = @new_mdef>@actor.mdef ? up_color : down_color
  121.       self.contents.font.color = normal_color if @new_mdef == @actor.mdef
  122.       self.contents.draw_text(200, 128, 36, 32, @new_mdef.to_s, 2)
  123.     end
  124.     if @new_eva != nil
  125.       if @new_eva > @actor.eva
  126.         self.contents.blt(164, 160, RPG::Cache.icon(UP_ICON), Rect.new(0, 0, 24, 24))
  127.       elsif @new_eva < @actor.eva
  128.         self.contents.blt(164, 160, RPG::Cache.icon(DOWN_ICON), Rect.new(0, 0, 24, 24))
  129.       end
  130.       self.contents.font.color = @new_eva>@actor.eva ? up_color : down_color
  131.       self.contents.font.color = normal_color if @new_eva == @actor.eva
  132.       self.contents.draw_text(200, 160, 36, 32, @new_eva.to_s, 2)
  133.     end
  134.     if @new_str != nil
  135.       if @new_str > @actor.str
  136.         self.contents.blt(164, 192, RPG::Cache.icon(UP_ICON), Rect.new(0, 0, 24, 24))
  137.       elsif @new_str < @actor.str
  138.         self.contents.blt(164, 192, RPG::Cache.icon(DOWN_ICON), Rect.new(0, 0, 24, 24))
  139.       end
  140.       self.contents.font.color = @new_str>@actor.str ? up_color : down_color
  141.       self.contents.font.color = normal_color if @new_str == @actor.str
  142.       self.contents.draw_text(200, 192, 36, 32, @new_str.to_s, 2)
  143.     end
  144.     if @new_dex != nil
  145.       if @new_dex > @actor.dex
  146.         self.contents.blt(164, 224, RPG::Cache.icon(UP_ICON), Rect.new(0, 0, 24, 24))
  147.       elsif @new_dex < @actor.dex
  148.         self.contents.blt(164, 224, RPG::Cache.icon(DOWN_ICON), Rect.new(0, 0, 24, 24))
  149.       end
  150.       self.contents.font.color = @new_dex>@actor.dex ? up_color : down_color
  151.       self.contents.font.color = normal_color if @new_dex == @actor.dex
  152.       self.contents.draw_text(200, 224, 36, 32, @new_dex.to_s, 2)
  153.     end
  154.     if @new_agi != nil
  155.       if @new_agi > @actor.agi
  156.         self.contents.blt(164, 256, RPG::Cache.icon(UP_ICON), Rect.new(0, 0, 24, 24))
  157.       elsif @new_agi < @actor.agi
  158.         self.contents.blt(164, 256, RPG::Cache.icon(DOWN_ICON), Rect.new(0, 0, 24, 24))
  159.       end
  160.       self.contents.font.color = @new_agi>@actor.agi ? up_color : down_color
  161.       self.contents.font.color = normal_color if @new_agi == @actor.agi
  162.       self.contents.draw_text(200, 256, 36, 32, @new_agi.to_s, 2)
  163.     end
  164.     if @new_int != nil
  165.       if @new_int > @actor.int
  166.         self.contents.blt(164, 288, RPG::Cache.icon(UP_ICON), Rect.new(0, 0, 24, 24))
  167.       elsif @new_int < @actor.int
  168.         self.contents.blt(164, 288, RPG::Cache.icon(DOWN_ICON), Rect.new(0, 0, 24, 24))
  169.       end
  170.       self.contents.font.color = @new_int>@actor.int ? up_color : down_color
  171.       self.contents.font.color = normal_color if @new_int == @actor.int
  172.       self.contents.draw_text(200, 288, 36, 32, @new_int.to_s, 2)
  173.     end
  174.   end
  175.   #--------------------------------------------------------------------------
  176.   # ● 变更装备后的能力值设置
  177.   #     new_atk  : 变更装备后的攻击力
  178.   #     new_pdef : 变更装备后的物理防御
  179.   #     new_mdef : 变更装备后的魔法防御
  180.   #--------------------------------------------------------------------------
  181.     ###############################################################
  182.   def set_new_parameters(new_atk, new_pdef, new_mdef, new_eva, new_str, new_dex, new_agi, new_int)
  183.     if @new_atk != new_atk or @new_pdef !=new_pdef or @new_mdef != new_mdef or @new_eva != new_eva or @new_str != new_str or @new_dex !=new_dex or @new_agi != new_agi or @new_int != new_int
  184.       @new_atk = new_atk
  185.       @new_pdef = new_pdef
  186.       @new_mdef = new_mdef
  187.       @new_eva = new_eva
  188.       @new_str = new_str
  189.       @new_dex = new_dex
  190.       @new_agi = new_agi
  191.       @new_int = new_int
  192.       refresh
  193.     end
  194.   end
  195. end

  196. #==============================================================================
  197. # ■ Window_EquipItem
  198. #------------------------------------------------------------------------------
  199. #  装备画面、显示浏览变更装备的候补物品的窗口。
  200. #==============================================================================

  201. class Window_EquipItem < Window_Selectable
  202.   #--------------------------------------------------------------------------
  203.   # ● 初始化对像
  204.   #     actor      : 角色
  205.   #     equip_type : 装备部位 (0~3)
  206.   #--------------------------------------------------------------------------
  207.   def initialize(actor, equip_type)
  208.     ################改了改坐标和高度#################################
  209.     super(272, 256, 368, 224)
  210.     @actor = actor
  211.     @equip_type = equip_type
  212.     @column_max = 1
  213.     refresh
  214.     self.active = false
  215.     self.index = -1
  216.   end
  217.   #--------------------------------------------------------------------------
  218.   # ● 项目的描绘
  219.   #     index : 项目符号
  220.   #--------------------------------------------------------------------------
  221.   def draw_item(index)
  222.     item = @data[index]
  223.     ################改了改坐标#################################
  224.     x = 4
  225.     y = index * 32
  226.     case item
  227.     when RPG::Weapon
  228.       number = $game_party.weapon_number(item.id)
  229.     when RPG::Armor
  230.       number = $game_party.armor_number(item.id)
  231.     end
  232.     bitmap = RPG::Cache.icon(item.icon_name)
  233.     self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
  234.     self.contents.font.color = text_color(item.name_color) # 改了这里,使得能显示装备名称颜色
  235.     self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
  236.     self.contents.font.color = normal_color
  237.     self.contents.draw_text(x + 240, y, 16, 32, ":", 1)
  238.     self.contents.draw_text(x + 256, y, 24, 32, number.to_s, 2)
  239.   end
  240. end

  241. #==============================================================================
  242. # ■ Scene_Equip
  243. #------------------------------------------------------------------------------
  244. #  处理装备画面的类。
  245. #==============================================================================

  246. class Scene_Equip
  247.   #--------------------------------------------------------------------------
  248.   # ● 刷新
  249.   #--------------------------------------------------------------------------
  250.   def refresh
  251.     # 设置物品窗口的可视状态
  252.     @item_window1.visible = (@right_window.index == 0)
  253.     @item_window2.visible = (@right_window.index == 1)
  254.     @item_window3.visible = (@right_window.index == 2)
  255.     @item_window4.visible = (@right_window.index == 3)
  256.     @item_window5.visible = (@right_window.index == 4)
  257.     # 获取当前装备中的物品
  258.     item1 = @right_window.item
  259.     # 设置当前的物品窗口到 @item_window
  260.     case @right_window.index
  261.     when 0
  262.       @item_window = @item_window1
  263.     when 1
  264.       @item_window = @item_window2
  265.     when 2
  266.       @item_window = @item_window3
  267.     when 3
  268.       @item_window = @item_window4
  269.     when 4
  270.       @item_window = @item_window5
  271.     end
  272.     # 右窗口被激活的情况下
  273.     if @right_window.active
  274.       # 删除变更装备后的能力
  275.     ###############################################################
  276.       @left_window.set_new_parameters(nil, nil, nil, nil, nil, nil, nil, nil)
  277.     end
  278.     # 物品窗口被激活的情况下
  279.     if @item_window.active
  280.       # 获取现在选中的物品
  281.       item2 = @item_window.item
  282.       # 变更装备
  283.       last_hp = @actor.hp
  284.       last_sp = @actor.sp
  285.       @actor.equip(@right_window.index, item2 == nil ? 0 : item2.id)
  286.       # 获取变更装备后的能力值
  287.     ###############################################################
  288.       new_atk = @actor.atk
  289.       new_pdef = @actor.pdef
  290.       new_mdef = @actor.mdef
  291.       new_eva = @actor.eva
  292.       new_str = @actor.str
  293.       new_dex = @actor.dex
  294.       new_agi = @actor.agi
  295.       new_int = @actor.int
  296.       # 返回到装备
  297.       @actor.equip(@right_window.index, item1 == nil ? 0 : item1.id)
  298.       @actor.hp = last_hp
  299.       @actor.sp = last_sp
  300.       # 描画左窗口
  301.     ###############################################################
  302.       @left_window.set_new_parameters(new_atk, new_pdef, new_mdef, new_eva, new_str, new_dex, new_agi, new_int)
  303.     end
  304.   end
  305. end

  306. #==============================================================================
  307. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  308. #==============================================================================
复制代码
请插入Main前即可,如果缺少文件的话
就加上这两个:https://rpg.blue/forum.php?mod=attachment&aid=OTkyNjZ8NGM1M2I5NzgwZDAxNmZmYTg2YzM1MmJiZjM5M2Q4N2V8MTczMzAwMTU1Ng%3D%3D&request=yes&_f=.pngattach://99265.png

047-Skill04.png (770 Bytes, 下载次数: 19)

047-Skill04.png

048-Skill05.png (751 Bytes, 下载次数: 25)

048-Skill05.png
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
130 小时
注册时间
2012-1-25
帖子
42
3
 楼主| 发表于 2012-2-17 13:59:12 | 只看该作者
2L的朋友~问题解决了~谢谢你!

点评

不必客气!今后请多多指教  发表于 2012-2-17 22:00
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-1 05:19

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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