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

Project1

 找回密码
 注册会员
搜索

整合脚本 (掉血从右到左

查看数: 1146 | 评论数: 4 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2013-5-11 12:54

正文摘要:

本帖最后由 亿万星辰 于 2013-5-11 13:47 编辑 game186_宿命脚本#============================================================================== # ■ Window_BattleStatus #--------------------------------- ...

回复

cinderelmini 发表于 2013-5-12 18:43:20
fm303018 发表于 2013-5-12 00:09
cinderelmini
cx 和 ax 效果一样
src_rect = Rect.new(0, 0, cx, bitmap.height)    #CX报错

好吧……之前哀家各种脑残了……
于是修改一下……
RUBY 代码复制
  1. def draw_actor_hpbar(actor, x, y)
  2.     bitmap = RPG::Cache.picture("空槽")
  3.     src_rect = Rect.new(0, 0, bitmap.width, bitmap.height)
  4.     self.contents.blt(x, y, bitmap, src_rect)
  5.     bitmap = RPG::Cache.picture("血槽")
  6.     cx = actor.hp * 100 / actor.maxhp
  7.     src_rect = Rect.new(0, 0, cx, bitmap.height)
  8.     #self.contents.blt(x + 103 - cx + ax, y + 2, bitmap, src_rect)
  9. ax = 血槽图片跟空槽图片的差距离
  10. self.contents.blt(x + ax, y + 2, bitmap, src_rect)
  11.   end
  12.   #--------------------------------------------------------------------------
  13.   # ★ SPバー の描画
  14.   #     actor : アクター
  15.   #     x     : 描画先 X 座標
  16.   #     y     : 描画先 Y 座標
  17.   #--------------------------------------------------------------------------
  18.   def draw_actor_spbar(actor, x, y)
  19.     bitmap = RPG::Cache.picture("空槽")
  20.     src_rect = Rect.new(0, 0, bitmap.width, bitmap.height)
  21.     self.contents.blt(x, y, bitmap, src_rect)
  22.     bitmap = RPG::Cache.picture("气槽")
  23.     cx = actor.sp * 100 / actor.maxsp
  24.     src_rect = Rect.new(0, 0, cx, bitmap.height)
  25.     #self.contents.blt(x + 103 - cx + ax, y + 2, bitmap, src_rect)
  26. ax = 气槽图片跟空槽图片的差距离
  27. self.contents.blt(x + ax, y + 2, bitmap, src_rect)
  28.   end


也就是说cx别#掉就是了~
那会儿忘了cx还是计算槽的长度的OTZ……

然后就是那个ax的值~
你可以随便填个10以下的数字上去~不过目测应该是2~
道理是……
你看空槽外边不是有一层边框吗~
然后血槽或者气槽就没有边框了~
所以血槽和气槽的x和y坐标就必须必空槽的坐标多那么一点~
这样才能对准到空槽的边框内~

以上~

点评

谢谢您的回答 问题解决  发表于 2013-5-13 10:54

评分

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

查看全部评分

fm303018 发表于 2013-5-12 00:09:43
本帖最后由 fm303018 于 2013-5-12 00:40 编辑

cinderelmini
cx 和 ax 效果一样
src_rect = Rect.new(0, 0, cx, bitmap.height)    #CX报错
ax = 血槽图片跟空槽图片的差距离  #不会用


def draw_actor_hpbar(actor, x, y)
    bitmap = RPG::Cache.picture("BarBack")
    src_rect = Rect.new(0, 0, bitmap.width, bitmap.height)
    self.contents.blt(x, y, bitmap, src_rect)
    bitmap = RPG::Cache.picture("HPBar01")
    cx = actor.hp * 100 / actor.maxhp
    src_rect = Rect.new(0, 0, cx , bitmap.height)
    self.contents.blt(x -103 + cx, y +0 , bitmap, src_rect)
  end

注意我这里动过了x -103 + cx血槽从右到左正确      但是~被击中~血槽错位
cinderelmini 发表于 2013-5-11 18:15:17
本帖最后由 cinderelmini 于 2013-5-11 18:36 编辑

RUBY 代码复制
  1. def draw_actor_hpbar(actor, x, y)
  2.     bitmap = RPG::Cache.picture("空槽")
  3.     src_rect = Rect.new(0, 0, bitmap.width, bitmap.height)
  4.     self.contents.blt(x, y, bitmap, src_rect)
  5.     bitmap = RPG::Cache.picture("血槽")
  6.     cx = actor.hp * 100 / actor.maxhp
  7.     src_rect = Rect.new(0, 0, cx, bitmap.height)
  8.     self.contents.blt(x + 103 - cx, y + 2, bitmap, src_rect)
  9.   end
  10.   #--------------------------------------------------------------------------
  11.   # ★ SPバー の描画
  12.   #     actor : アクター
  13.   #     x     : 描画先 X 座標
  14.   #     y     : 描画先 Y 座標
  15.   #--------------------------------------------------------------------------
  16.   def draw_actor_spbar(actor, x, y)
  17.     bitmap = RPG::Cache.picture("空槽")
  18.     src_rect = Rect.new(0, 0, bitmap.width, bitmap.height)
  19.     self.contents.blt(x, y, bitmap, src_rect)
  20.     bitmap = RPG::Cache.picture("气槽")
  21.     cx = actor.sp * 100 / actor.maxsp
  22.     src_rect = Rect.new(0, 0, cx, bitmap.height)
  23.     self.contents.blt(x + 103 - cx, y + 2, bitmap, src_rect)
  24.   end


用到的是这两段~
可以替换~也可以把原来的函数名字稍微改一下~然后再ctrl+V在下面~

总之~就是下面这样写~

RUBY 代码复制
  1. def draw_actor_hpbar(actor, x, y)
  2.     bitmap = RPG::Cache.picture("空槽")
  3.     src_rect = Rect.new(0, 0, bitmap.width, bitmap.height)
  4.     self.contents.blt(x, y, bitmap, src_rect)
  5.     bitmap = RPG::Cache.picture("血槽")
  6.     #cx = actor.hp * 100 / actor.maxhp
  7.     src_rect = Rect.new(0, 0, cx, bitmap.height)
  8.     #self.contents.blt(x + 103 - cx + ax, y + 2, bitmap, src_rect)
  9. ax = 血槽图片跟空槽图片的差距离
  10. self.contents.blt(x + ax, y + 2, bitmap, src_rect)
  11.   end
  12.   #--------------------------------------------------------------------------
  13.   # ★ SPバー の描画
  14.   #     actor : アクター
  15.   #     x     : 描画先 X 座標
  16.   #     y     : 描画先 Y 座標
  17.   #--------------------------------------------------------------------------
  18.   def draw_actor_spbar(actor, x, y)
  19.     bitmap = RPG::Cache.picture("空槽")
  20.     src_rect = Rect.new(0, 0, bitmap.width, bitmap.height)
  21.     self.contents.blt(x, y, bitmap, src_rect)
  22.     bitmap = RPG::Cache.picture("气槽")
  23.     #cx = actor.sp * 100 / actor.maxsp
  24.     src_rect = Rect.new(0, 0, cx, bitmap.height)
  25.     #self.contents.blt(x + 103 - cx + ax, y + 2, bitmap, src_rect)
  26. ax = 气槽图片跟空槽图片的差距离
  27. self.contents.blt(x + ax, y + 2, bitmap, src_rect)
  28.   end


大体上是这样了~
ax就填上槽图片跟空槽图片的宽度差~
理论上是(空槽图片的宽-槽图片的宽)/2
不过这只是一般对称的槽图片公式~
详细的LZ自己填上就是~
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-12-27 01:20

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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