Project1

标题: 如何生成图片代替技能栏 [打印本页]

作者: cmmd1    时间: 2015-12-7 20:59
标题: 如何生成图片代替技能栏
本帖最后由 cmmd1 于 2015-12-7 21:39 编辑

好像一个帖子不能问几个问题。还有的状态替换,和装备栏也要用图片替换。不知道是不是一个帖子里可以解决的还是一个一个来?
所以我脸皮厚厚的又来提问了。{:2_270:}
@cinderelmini
用XP的好像不多了,搜索的都是以前打不开的贴子。要么就是VX,VA的。
RUBY 代码复制
  1. #==============================================================================
  2. # ■ Window_SkillStatus
  3. #------------------------------------------------------------------------------
  4. #  显示特技画面、特技使用者的窗口。
  5. #==============================================================================
  6.  
  7. class Window_SkillStatus < Window_Base
  8.   #--------------------------------------------------------------------------
  9.   # ● 初始化对像
  10.   #     actor : 角色
  11.   #--------------------------------------------------------------------------
  12.   def initialize(actor)
  13.     super(0, 64, 640, 64)
  14.     self.contents = Bitmap.new(width - 32, height - 32)
  15.     @actor = actor
  16.     refresh
  17.   end
  18.   #--------------------------------------------------------------------------
  19.   # ● 刷新
  20.   #--------------------------------------------------------------------------
  21.   def refresh
  22.     self.contents.clear
  23.     draw_actor_name(@actor, 4, 0)
  24.     draw_actor_state(@actor, 140, 0)
  25.     draw_actor_hp(@actor, 284, 0)
  26.     draw_actor_sp(@actor, 460, 0)
  27.   end
  28. end

作者: cinderelmini    时间: 2015-12-7 21:40
本帖最后由 cinderelmini 于 2015-12-7 21:43 编辑

写法还是一样的,就是多了个初始参数传过来了……………………
  1. class Window_SkillStatus < Window_Base
  2. alias sn_151207_init initialize
  3. def initialize(actor)
  4. # 这里可以照搬上个帖子物品的那段@back的3行
  5. sn_151207_init(actor)
  6. self.opacity = 0
  7. end

  8. alias sn_151207_dispose dispose
  9. def dispose
  10. sn_151207_dispose
  11. @back.dispose
  12. end
  13. end
复制代码
alias有参数的方法名之后,使用原方法的时候要带括弧传参数。
作者: cmmd1    时间: 2015-12-7 21:49
本帖最后由 cmmd1 于 2015-12-8 00:28 编辑

RUBY 代码复制
  1. class Window_Skill < Window_Selectable
  2. alias sn_151207_init initialize
  3. def initialize(actor)
  4. # 这里可以照搬上个帖子物品的那段@back的3行
  5. @back = Sprite.new
  6. @back.x = 200
  7. @back.y = 120
  8. @back.z = 101
  9. file_name = $game_temp.in_battle ? "技能栏" : "技能栏"
  10. @back.bitmap = RPG::Cache.picture(file_name)
  11. sn_151207_init(actor)
  12. self.opacity = 0
  13. end
  14.  
  15. alias sn_151207_dispose dispose
  16. def dispose
  17. sn_151207_dispose
  18. @back.dispose
  19. end
  20.  
  21. # 和窗口同步可视化
  22. alias sn_151207_visible visible
  23. def visible=(n)
  24. sn_151207_visible(n)
  25. @back.visible = n
  26. end
  27. end



战斗的时候sn_151207_visible(n)错误
作者: cinderelmini    时间: 2015-12-7 23:54
本帖最后由 cinderelmini 于 2015-12-8 00:39 编辑
  1. class Window_Skill < Window_Selectable
  2. alias sn_151207_init initialize
  3. def initialize(actor)
  4. # 这里可以照搬上个帖子物品的那段@back的3行
  5. @back = Sprite.new
  6. @back.x = 200
  7. @back.y = 120
  8. @back.z = 101
  9. file_name = $game_temp.in_battle ? "技能栏" : "技能栏"
  10. @back.bitmap = RPG::Cache.picture(file_name)
  11. sn_151207_init(actor)
  12. self.opacity = 0
  13. end

  14. alias sn_151207_dispose dispose
  15. def dispose
  16. sn_151207_dispose
  17. @back.dispose
  18. end

  19. # 和窗口同步可视化
  20. def visible=(n)
  21. super(n)
  22. @back.visible = n
  23. end

  24. end
复制代码





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1