翻转图像具有不同大小的宽度平滑过渡

时间:2016-04-20 06:38:23

标签: animation libgdx sprite draw

我试图在LibGDX中翻转一些动画,但因为它们的宽度不同,所以动画很奇怪。这就是问题所在:

(红点标记X / Y坐标{0,0})

enter image description here

正如你所看到的,当动画播放"左"当你击打时,脚开始落后于它,但当你向右冲时,动画效果很好,因为两个动画的原点都是左角,所以过渡是平滑的。

我想到实现我想要的唯一方法就是看看正在播放什么动画并相应地调整坐标。

这是代码:

<div class="container">
  <div class="box-vert">
    <div class="box-horz">
      <div class="box-inner">
        <h1>Title Text Here</h1>
        <p>Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Cras mattis consectetur purus sit amet fermentum. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vestibulum id ligula porta felis euismod semper.</p>
      </div>
    </div>
  </div>
</div>

欢迎任何建议如何解决这个问题。

1 个答案:

答案 0 :(得分:1)

使用其他一些batch.draw选项(带有其他参数)。您可以设置“原点”参数。它就像一个热点......图像的中心......所以,如果你旋转,那么旋转将围绕那个热点进行。

https://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/graphics/g2d/Batch.html

我没有用它来翻转,但它应该以同样的方式工作。但如果没有,那么你必须自己调整坐标,为每一帧制作一个带X偏移的列表,并将其添加到翻转图像中。

其他解决方案是拥有更宽的帧图像,并保持角色的中心始终与图像的中心匹配。这样你的图像就会变宽,然后他们必须 - 你会有一些空的空间,但对于合理的帧数,它是可以接受的。