【问题标题】:How to slow down translation speed in libgdx如何在 libgdx 中减慢翻译速度
【发布时间】:2016-03-13 03:29:05
【问题描述】:

我正在使用 Sprite translate(xAmount, yAmount) 方法将对象移动给定的偏移量。有没有办法减慢这种翻译,以便我可以创建移动物体的平滑动画。我可以延迟绘制帧,但这听起来不是一个好方法。

例如。代码。

                    model.getSprite().translate(x, y);

绘制代码

                   model.getSprite().draw(game.batch);

【问题讨论】:

标签: libgdx


【解决方案1】:

您必须逐帧绘制,一次翻译一点。

【讨论】:

    【解决方案2】:

    `

    float sx=0.5f; // slow down translation factor in x axis by half 
    
    float sy=0.5f; // slow down translation factor in y axis by half
    
    model.getSprite().translate(x*sx, y*sy);
    

    ` 例如: 如果您只想沿 x 轴减速,则将 sy = 1 的值和 sx 的值从 0 设置为 1,其中 0 表示不移动,而 0.5 表示半速减速。 如果您不想改变翻译速度,请将 sx 或 sy 值设置为 1 ,将其值设置得超过该值会提高其速度。

    【讨论】:

    • 这不会减慢任何速度,只是将其移到错误的位置。
    • 它会减少翻译步骤从而减慢翻译速度
    • @atuos 如果您理解答案,那么请不要对答案投反对票,因为您脑子里冒出的东西可能对其他人有用
    • abhimanyud3dx 我理解你的回答,我只是觉得它很差。如前所述,您的代码只会将其移动所需距离的一半。即使我们假设缺少的控制代码确保它在连续渲染中一直被翻译到目的地,动画速度也将取决于硬件。
    • libgdx 以固定 fps 运行,直到关闭 vsync,假设控制代码有一个坐标,比如 move until model.getX()
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-20
    • 1970-01-01
    • 1970-01-01
    • 2020-10-05
    • 1970-01-01
    相关资源
    最近更新 更多