Gosu:如何调整图像大小以适应窗口?

时间:2013-06-18 08:08:33

标签: ruby drawing libgosu

使用Ruby Gosu,我用这种方式绘制图像:

@background_image.draw(0, 0, 0)

图像比窗口大,有没有办法神奇地调整它以适应窗口?我试图避免硬编码factor_xfactor_y

1 个答案:

答案 0 :(得分:3)

你可以用这样的东西计算factor_x \ factor_y(假设你的窗口存储在@window中)

fx = @window.width/@background_image.width
fy = @window.height/@background_image.height
@background_image.draw(0, 0, 0, fx, fy)

或者使用draw_as_quad方法,但它稍微冗长一些 (http://www.libgosu.org/rdoc/Gosu/Image.html#draw_as_quad-instance_method

@background_image.draw_as_quad(0, 0, 0xffffffff, @window.width, 0, 0xffffffff, @window.width, @window.height, 0xffffffff, 0, @window.height, 0xffffffff, 0)