水平翻转精灵slick2d

时间:2014-03-10 14:10:45

标签: java slick2d

我正在用Slick2D编写一个街机多级游戏,我正在编写实体的代码。我试图水平翻转精灵。我第一次为同一个精灵设计了2个图像,第一个朝右,第二个朝左。

现在我试图用getFlippedCopy()函数水平翻转精灵,但我不能旋转整个动画,我只能旋转一帧。

我该如何解决?

1 个答案:

答案 0 :(得分:1)

如果您正在绘制动画,最好使用getCurrentFrame()方法,因为无论如何都要显示它。

做这样的事情:

animation.getCurrentFrame().getFlippedCopy(direction, false).draw(x, y);

在渲染方法中,您可以根据图像的方向设置图像的方向。因此,如果他们面向左,方向'可能是真的,所以当前的动画图像将在x和y(这是你想要的)上翻转,如果面向右,方向将是假的,其中不会发生翻转方向并且它将显示玩家面向右(取决于图像;如果它们在原始spritesheet中面向左侧,则情况相反)。

如果您正在进行更复杂的方向更改,例如4方向移动:

anim.getCurrentFrame().setRotation(90*(direction));
anim.getCurrentFrame().draw(x, y);

其中'方向'是北/东/南/西代表整数,0-3。如0 =北,1 =东等,等等。