如何仅对某些对象进行缩放 LOVE2D

这是 Lua LOVE2D 框架的一个问题。

每当我尝试为对象设置属性,如颜色或缩放时,它最终会影响场景中的每个对象。

例如,

    for i,enemy  in ipairs(enemies) do
    love.graphics.scale(0.2,0.2)
   love.graphics.draw(enemyImg,enemy.x,enemy.y)

   end

这不仅缩小敌人对象,还缩小了所有其他对象。 有人知道如何解决吗?

点赞
用户2726734
用户2726734

在您的情况下,最简单的方法是利用可选参数进行绘制。

 for _, enemy in ipairs(enemies) do
    love.graphics.draw(enemyImg, enemy.x, enemy.y, 0, --rotation
           enemy.scale)
 end

这样比例是每个敌人独特的。

2015-05-12 19:07:14
用户336528
用户336528

正如 rpattiso 在他们的回答中所指出的,love.graphics.draw 接受两个可选参数 sxsy,用于设置特定对象的比例因子。

整个函数的参数为:

love.graphics.draw(drawable, x, y, r, sx, sy, ox, oy, kx, ky)

r 是对象的旋转角度,因此如果您不旋转对象,请将其设置为 0

至于颜色,love2d 将使用最后一次 setColor 来绘制。因此,您需要为每个需要新颜色的对象更改颜色。

2016-11-24 19:53:06