查看: 3003|回复: 0

[已经过期] 关于精灵缩放

[复制链接]
梦石
8
星屑
4809
在线时间
1568 小时
注册时间
2014-1-9
回帖
373

开拓者

发表于 2019-2-4 14:44:19 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 余音·魔眼 于 2019-2-4 14:52 编辑

我发现当精灵的ox,oy为精灵位图的宽度或高度时,也就是以右上角,右下角,左下角(只要不是左上角)为原点时,执行缩放都会有1像素的偏移,不知道是什么问题,求大佬指点!
这是以右下角为原点执行的缩放:
GIF.gif GIF2.gif GIF1.gif
这是以左上角为原点执行的缩放:
GIF3.gif GIF4.gif GIF5.gif
附上代码:
[pre lang="ruby"]s = Sprite.new
s.bitmap = Bitmap.new(200, 200)
s.bitmap.fill_rect(s.bitmap.rect, Color.new(255,255,255))
s.zoom_x = s.zoom_y = 0
s.x, s.y = 250, 250
s.ox, s.oy = s.bitmap.width, s.bitmap.height
loop do
  s.zoom_x += 0.01 if s.zoom_x < 1
  s.zoom_y += 0.01 if s.zoom_y < 1
  s.zoom_x = 1 if s.zoom_x > 1
  s.zoom_y = 1 if s.zoom_y > 1
  Graphics.update
end[/pre]
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

在本版发帖返回顶部