查看: 2327|回复: 3

[已经解决] 如何生成图片代替技能栏

[复制链接]
梦石
0
星屑
50
在线时间
168 小时
注册时间
2007-7-26
回帖
427
发表于 2015-12-7 20:59:25 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 cmmd1 于 2015-12-7 21:39 编辑

好像一个帖子不能问几个问题。还有的状态替换,和装备栏也要用图片替换。不知道是不是一个帖子里可以解决的还是一个一个来?
所以我脸皮厚厚的又来提问了。{:2_270:}
@cinderelmini
用XP的好像不多了,搜索的都是以前打不开的贴子。要么就是VX,VA的。
[pre lang="ruby"]#==============================================================================
# ■ Window_SkillStatus
#------------------------------------------------------------------------------
#  显示特技画面、特技使用者的窗口。
#==============================================================================

class Window_SkillStatus < Window_Base
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #     actor : 角色
  #--------------------------------------------------------------------------
  def initialize(actor)
    super(0, 64, 640, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
    @actor = actor
    refresh
  end
  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    draw_actor_name(@actor, 4, 0)
    draw_actor_state(@actor, 140, 0)
    draw_actor_hp(@actor, 284, 0)
    draw_actor_sp(@actor, 460, 0)
  end
end
[/pre]

评分

参与人数 1星屑 +35 收起 理由
RyanBern + 35 手动认可奖励

查看全部评分

梦石
0
星屑
9716
在线时间
2775 小时
注册时间
2008-9-5
回帖
3458

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

发表于 2015-12-7 21:40:07 | 显示全部楼层
本帖最后由 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有参数的方法名之后,使用原方法的时候要带括弧传参数。

点评

alias的话,原理上就是在原来的脚本里加几句代码的意思,所以原来的类名和父类不能写错,不然就弹错了,然后就是alias的方法是不是带参数(括弧)。  发表于 2015-12-7 21:50
还有sn_151207_init(actor)和sn_151207_init的区别……  发表于 2015-12-7 21:49
区别就是class Window_SkillStatus < Window_Base和def initialize(actor)吗? 那状态和装备分别是什么?  发表于 2015-12-7 21:46
回复

使用道具 举报

梦石
0
星屑
50
在线时间
168 小时
注册时间
2007-7-26
回帖
427
 楼主| 发表于 2015-12-7 21:49:57 | 显示全部楼层
本帖最后由 cmmd1 于 2015-12-8 00:28 编辑

[pre lang="ruby"]class Window_Skill < Window_Selectable
alias sn_151207_init initialize
def initialize(actor)
# 这里可以照搬上个帖子物品的那段@back的3行
@back = Sprite.new
@back.x = 200
@back.y = 120
@back.z = 101
file_name = $game_temp.in_battle ? "技能栏" : "技能栏"
@back.bitmap = RPG::Cache.picture(file_name)
sn_151207_init(actor)
self.opacity = 0
end

alias sn_151207_dispose dispose
def dispose
sn_151207_dispose
@back.dispose
end

# 和窗口同步可视化
alias sn_151207_visible visible
def visible=(n)
sn_151207_visible(n)
@back.visible = n
end
end[/pre]

21212.png
战斗的时候sn_151207_visible(n)错误

点评

呃。。还得加一段……窝另外开个楼吧……  发表于 2015-12-7 23:53
这个就没错了,那个技能栏能不能使用技能的时候消失啊? 使用技能选择怪物被技能栏遮挡住了  发表于 2015-12-7 23:46
呃……………………知道了……Window_Skill的父类是Window_Selectable而不是Window_Base……第一行应该是【class Window_Skill < Window_Selectable】  发表于 2015-12-7 23:40
不应该啊…………为什么会有4个参数……用了别的脚本还是改过默认的initialize?全局搜索class Window_Skill看看?  发表于 2015-12-7 23:39
上了个错误提示图  发表于 2015-12-7 23:37
回复

使用道具 举报

梦石
0
星屑
9716
在线时间
2775 小时
注册时间
2008-9-5
回帖
3458

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

发表于 2015-12-7 23:54:52 | 显示全部楼层
本帖最后由 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
复制代码

点评

那么就可以去睡觉了,明天还要到市局开会。你也早点休息啊。  发表于 2015-12-8 00:55
这下可以了,哈哈哈哈。谢谢谢谢!改天请你吃饭。耽误你这么多时间。认可答案。  发表于 2015-12-8 00:52
呃……抱歉,alias关于赋值的方法窝也不熟……干脆不用alias了……直接改方法内容………………这样是可行的……(楼层脚本更新了)  发表于 2015-12-8 00:40
要不然明天吧?耽误你休息了。帮我弄了这么久。真心感谢!  发表于 2015-12-8 00:38
那个,抱歉,是我的错。现在技能栏图片可以消失了。然后默认的那个没消失,就是里面的技能没消失。  发表于 2015-12-8 00:36

评分

参与人数 1梦石 +1 收起 理由
RyanBern + 1 认可答案

查看全部评分

回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部