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

Project1

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

[已经解决] 脚本contents框x轴长度显示不正常

[复制链接]

Lv2.观梦者

梦石
0
星屑
423
在线时间
37 小时
注册时间
2013-7-1
帖子
27
跳转到指定楼层
发表于 2021-4-26 08:40:29 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
100星屑
本帖最后由 774204155 于 2021-4-26 09:27 编辑

想通过控制contents的X轴大小来呈现出血量减少时的血条变化效果

RUBY 代码复制
  1. @X = @hp_a
  2. self.contents.blt(110,5 , bitmap5, Rect.new(0, 0, @X, 21))


这是把它的X轴大小设置为角色血量,这种状况下血条会如实地减少


血槽的长度我设置为300,角色的血量是100,此时如果角色受伤血条是会减少的
但是血条在满血的时候并没有填满血槽 于是

RUBY 代码复制
  1. @X = @hp_a / @maxhp_a
  2. self.contents.blt(110,5 , bitmap5, Rect.new(0, 0, @X*300, 21))


写成了以上这样

X是角色的生命百分比
contents的x长度就是300乘以这个百分比
结果满血的时候血条正常地充满血槽



但一旦扣血血条直接消失




琢磨了半天,实在是百思不得其解
还请大佬们不吝赐教


======221/4/26/9:25======

摸索着自己解决了。。。写成这样就正常运行了
  1. self.contents.blt(110,5 , bitmap5, Rect.new(0, 0, 300*@hp_a/@maxhp_a, 21))
复制代码


但还是想知道之前为什么不能正常运行

未标题-4.jpg (35.58 KB, 下载次数: 43)

未标题-4.jpg

最佳答案

查看完整内容

因为 整数相除只能得到整数 100 / 100 #=> 1 ; 50 / 100 #=> 0 改成浮点数就没问题了 @X = @hp_a.to_f / @maxhp_a
菜得真实但还是想做游戏

Lv5.捕梦者

梦石
0
星屑
39028
在线时间
5722 小时
注册时间
2006-11-10
帖子
6621
1
发表于 2021-4-26 08:40:30 | 只看该作者
本帖最后由 灯笼菜刀王 于 2021-4-26 09:33 编辑

因为 整数相除只能得到整数  100 / 100 #=> 1 ; 50 / 100 #=> 0

改成浮点数就没问题了  @X = @hp_a.to_f / @maxhp_a

点评

!原来是基础知识没掌握!受教了!  发表于 2021-4-26 09:53

评分

参与人数 1+1 收起 理由
774204155 + 1 认可答案

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-28 21:19

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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