加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 余音·魔眼 于 2019-2-4 14:52 编辑
我发现当精灵的ox,oy为精灵位图的宽度或高度时,也就是以右上角,右下角,左下角(只要不是左上角)为原点时,执行缩放都会有1像素的偏移,不知道是什么问题,求大佬指点!
这是以右下角为原点执行的缩放:
这是以左上角为原点执行的缩放:
附上代码:
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
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
|