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

Project1

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

[已经解决] 求教,这个状态图标化脚本修改哪里可以使图标数增多

[复制链接]

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

跳转到指定楼层
1
发表于 2014-10-24 00:17:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
按照默认的我最多只能显示4个图标.
即使我把if state_size >= width / 24里面那个24改掉,也还是一样.
  1. #==============================================================================
  2. # Date 12-31-2005
  3. # 重定义类:Window_Base, Window_Help
  4. #==============================================================================
  5. # 脚本功能:
  6. # 实现战斗中和菜单中用图标显示状态,代替原来的文字显示。
  7. # 默认最多同时显示5个状态
  8. #------------------------------------------------------------------------------
  9. # 设置方法:
  10. # 一个状态对应的图标文件名为“状态的动画ID.png”
  11. # 例如某状态的动画ID为50,那么它的图标就是“Icons\50.png”
  12. # 如果找不到对应的文件,会报错 ◎_◎
  13. #==============================================================================

  14. # 注意,在ICON_STATE_IDS中写上需要带图标的状态ID
  15. # ICON_STATE_IDS是一个数组,数组的方法请参考帮助文件
  16. # 例如:
  17. # 只要1,5,8号状态带图标,就这样:ICON_STATE_IDS = [1,5,8]
  18. # 要20到50号状态带图标:ICON_STATE_IDS = 20..50

  19. ICON_STATE_IDS = 1..100

  20. #==============================================================================
  21. # ■ Window_Base
  22. #------------------------------------------------------------------------------
  23. #  游戏中全部窗口的超级类。
  24. #==============================================================================

  25. class Window_Base < Window
  26. #--------------------------------------------------------------------------
  27. # ● 描绘状态
  28. #     actor : 角色
  29. #     x     : 描画目标 X 坐标
  30. #     y     : 描画目标 Y 坐标
  31. #     width : 描画目标的宽
  32. #--------------------------------------------------------------------------
  33. def draw_actor_state(actor, x, y, width = 120)
  34.   state_size = 0
  35.   for state in actor.states
  36.     # 图标数量超出宽度就中断循环
  37.     if state_size >= width / 24
  38.       break
  39.     end
  40.     # 此状态不带图标就跳过
  41.     if !ICON_STATE_IDS.include?(state)
  42.       next
  43.     end
  44.     bitmap = RPG::Cache.icon($data_states[state].name + "_sta.png")
  45.     if actor.states_turn[state] >= $data_states[state].hold_turn/2
  46.       opacity = 255
  47.     else
  48.       opacity = 100
  49.     end
  50.     # 这里的图标大小默认是24x24,要改就改下面那个Rect.new(0, 0, 24, 24)
  51.     self.contents.blt(x + 21 * state_size, y + 8, bitmap, Rect.new(0, 0, 20, 20), opacity)
  52.     state_size += 1
  53.   end
  54. end
  55. end


  56. #==============================================================================
  57. # ■ Window_Help
  58. #------------------------------------------------------------------------------
  59. #  特技及物品的说明、角色的状态显示的窗口。
  60. #==============================================================================

  61. class Window_Help < Window_Base
  62. #--------------------------------------------------------------------------
  63. # ● 设置敌人
  64. #     enemy : 要显示名字和状态的敌人
  65. #--------------------------------------------------------------------------
  66. def set_enemy(enemy)
  67.   # 描绘状态图标
  68.   state_size = 0
  69.   for state in enemy.states
  70.     # 图标数量超出宽度就中断循环
  71.     if state_size >= width / 16
  72.       break
  73.     end
  74.     # 此状态不带图标就跳过
  75.     if !ICON_STATE_IDS.include?(state)
  76.       next
  77.     end
  78.     bitmap = RPG::Cache.icon($data_states[state].name + "_sta.png")
  79.     if enemy.states_turn[state] >= $data_states[state].hold_turn/2
  80.       opacity = 255
  81.     else
  82.       opacity = 100
  83.     end
  84.     self.contents.blt(70 + 16 * state_size, 0, bitmap, Rect.new(0, 0, 24, 24), opacity)
  85.     state_size += 1
  86.   end
  87.   # 描绘敌人名字
  88.   set_text(enemy.name, 1)
  89. end
  90. end

  91. class Game_Battler
  92. attr_reader :states_turn       # 声明状态剩余回合
  93. end
复制代码

Lv5.捕梦者

梦石
0
星屑
33077
在线时间
5104 小时
注册时间
2012-11-19
帖子
4878

开拓者

2
发表于 2014-10-24 00:30:50 | 只看该作者
37.def draw_actor_state(actor, x, y, width = 120)
把那个 width = 120 改成 width = 240   可以显示 10 个状态图标。

点评

问题解决了。状态一个一个中就能显示出来。一下子全中就只能显示3或者4个。  发表于 2014-10-24 22:32
↓只能说明你显示状态的窗口容不下那么长。  发表于 2014-10-24 13:23
郁闷,现在测试的时候只能显示出3个了。  发表于 2014-10-24 12:59
我发现刚中状态的时候只能显示那么几个,但是回合过去后颜色变淡了,就显示出来了................  发表于 2014-10-24 12:50
这个width = 120我也改过了,没有效果,我改成1200都没变化  发表于 2014-10-24 12:28

评分

参与人数 1星屑 +200 收起 理由
myownroc + 200 认可答案

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-22 12:43

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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