查看: 3470|回复: 8

[已经解决] [已解决]加载动态人物战斗图位图的疑问。

[复制链接]
梦石
0
星屑
15041
在线时间
2230 小时
注册时间
2019-1-24
回帖
964

R考场第七期纪念奖

发表于 2019-4-26 21:43:26 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 miantouchi 于 2019-4-27 20:34 编辑

我看某侠的一节课程,这是源码没有问题
[pre lang="ruby"]   
      bmp = RPG::Cache.battler(@battler_name, @battler_hue)#第一句
      rect = Rect.new(0, 0, bmp.width / 4, bmp.height)#第二句
      self.bitmap = Bitmap.new(bmp.width / 4, bmp.height)#第三句
      self.bitmap.blt(0, 0, bmp, rect)[/pre]#第四句

我为了自己能理解这段代码我把这段代码除以4这块去掉了,来验证我自己的理解想法,结果
我自己把第三句改了下就不显示了[pre lang="ruby"]self.bitmap = Bitmap.new(bmp.width, bmp.height)[/pre]

这是什么原因呢?

我的理解,人物图片是528*162
第二句Rect截取人物的第一帧图片132宽*162高
第三句是加载空白的bitmap位图,尺寸是528*162
第四句在空白bitmap位图(528*162),上面绘制第一帧人物图片,
结果我没有发现人物图片没有显示。
1.png
陈.png
3.png
4.png
梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2019-4-26 22:21:45 | 显示全部楼层
本帖最后由 soulsaga 于 2019-4-26 22:41 编辑

这也挺奇怪的......
回复 1 0

使用道具 举报

梦石
0
星屑
42235
在线时间
6017 小时
注册时间
2006-11-10
回帖
6966
发表于 2019-4-26 22:59:34 | 显示全部楼层
本帖最后由 灯笼菜刀王 于 2019-4-26 23:11 编辑

你把这个角色换到第4位就可以看到他了

原因在于下面的 self.ox, 它的取值是图片宽度的一半

点评

最好能画张图 O(∩_∩)O哈哈~  发表于 2019-4-27 16:47
self.ox是精灵原点位置,具体是精灵图片的中心点被,看了半天没理解这个ox  发表于 2019-4-27 16:43
回复

使用道具 举报

梦石
0
星屑
42235
在线时间
6017 小时
注册时间
2006-11-10
回帖
6966
发表于 2019-4-27 16:59:59 | 显示全部楼层
本帖最后由 灯笼菜刀王 于 2019-4-27 17:05 编辑

blt(x,y,w,h) 这里的XY是什么意思?

嘛, 答案很容易吧, 就是描绘图片位置的坐标,  

那,你有没有想过, 这个坐标只是一个点, 而图片是一个面, 是根据图片的哪个点来作为位置标准的呢?

答案就是 ox, oy, 默认是0,0  也就是图片左上角的那个点

这里, 改变了ox = w / 2 , oy = h , 也就是说,基准点换成了 在图片宽度的一半, 全部高度(也就底边)的位置

你让rect绘制了4分之一的图片, 然而实际图片并没有被切成4分一, 所以 w / 2 的位置一样是那长长的图片的底部中心点, 显然的, 窗口并没有那么长来显示完整的半张图, 所以你的角色就显示到外太空去了

点评

我这么画只是把图片尺寸前半部分画在游戏左侧,右侧显示后半部分,后半部分是透明图片。  发表于 2019-4-27 20:15
终于搞明白系统是怎么画的,先确定原点位置(脚部中心),然后再画,图片默认是在外围。  发表于 2019-4-27 20:14

评分

参与人数 1星屑 +50 收起 理由
RyanBern + 50 认可答案

查看全部评分

回复

使用道具 举报

梦石
1
星屑
24088
在线时间
3339 小时
注册时间
2011-7-8
回帖
3862

开拓者

发表于 2019-4-27 17:50:53 | 显示全部楼层
ox,oy这个设计看似很奇怪,联想到旋转就很自然了。ox,oy其实是指定了旋转的中心。

不过我也是第一次意识到blt的前两个参数是ox,oy
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部