查看: 2379|回复: 10

[已经解决] 关于图片的问题

[复制链接]
梦石
0
星屑
606
在线时间
797 小时
注册时间
2014-7-1
回帖
501

开拓者

发表于 2016-10-8 16:44:12 | 显示全部楼层 |阅读模式

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

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

×
在游戏中我用图片显示血量
可是遇到一个问题:
就是图片减少的方式是从下往上减少的,看起来有些不妥,这个是什么原因呢?

是计算方式的问题吗! 如何解决这个问题!

正常视觉应该是从上到下!
[pre lang="ruby"]
def draw_actor_hp1_bar(actor, x, y,height=60)
    bitmap=Bitmap.new("Graphics/Pictures/xue1") # 60  60
    w1 = 1.0 * actor.hp / actor.maxhp * height
    src_rect = Rect.new(0, 0, 60,w1)
    self.contents.blt(x, y, bitmap, src_rect)
  end
[/pre]
满血.png
减血.png
学习使我疲劳,打工使我疲惫,恋爱使我伤身,吸烟伤我肺腑,饮酒损我形象,旅游使我破费,月底不见铜板,只有在论坛里面看看各种大佬才能使我进去
梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2016-10-8 16:48:01 | 显示全部楼层
问题出在W1。
获取图片的高。
该怎么写我不知道

点评

额。。。这样应该不行吧!  发表于 2016-10-8 17:33
一般显示图片都是按照上面往下显示。要是有代码可以把图片上下翻过来,就能满足你的需求了  发表于 2016-10-8 17:17
回复

使用道具 举报

梦石
0
星屑
3557
在线时间
2337 小时
注册时间
2015-8-25
回帖
928

开拓者

发表于 2016-10-8 17:55:55 | 显示全部楼层
本帖最后由 七重 于 2016-10-8 19:06 编辑

虽然这个是XP的问题,不过我之前也为同样的问题烦恼过所以也尝试回复一下。


如果是在VA上的话,也许可以通过改变显示端口的oy的方法来实现,同时要改变高度。(我猜XP应该也可以吧?)

这是最近才学的方法,虽然自己的游戏也有用到这个功能,但是还没有更新上去。


回复

使用道具 举报

梦石
0
星屑
1788
在线时间
1313 小时
注册时间
2012-8-4
回帖
724
发表于 2016-10-8 21:38:23 | 显示全部楼层
(x, y, bitmap, src_rect)改的是y值吗?

点评

改了没用吗?我之前想的是改高度的话 是从下面下至上减少高度的。改变y的话增加的话显示可以从上到下  发表于 2016-10-9 08:53
Y值不是改变坐标的吗?动它没什么意义吧  发表于 2016-10-9 07:47
回复

使用道具 举报

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

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

发表于 2016-10-9 12:45:36 | 显示全部楼层
rm坐标系默认原点在左上角~
大概这么换算一下应该可以了……吧…………
  1. def draw_actor_hp1_bar(actor, x, y,height=60)
  2.     bitmap=Bitmap.new("Graphics/Pictures/xue1") # 60  60
  3.     w1 = 1.0 * actor.hp / actor.maxhp * height
  4.     cy = height - w1
  5.     src_rect = Rect.new(0, cy, 60,w1)
  6.     self.contents.blt(x, y + cy, bitmap, src_rect)
  7.   end
复制代码

点评

果然可以了!非常感谢!^-^!  发表于 2016-10-9 17:25
好的,我去试一下!  发表于 2016-10-9 17:23

评分

参与人数 2星屑 +20 梦石 +1 收起 理由
RyanBern + 1 认可答案
jiushiainilip19 + 20 塞糖

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部