【问题标题】:libgdx: Making a cross shape rotatelibgdx:使十字形旋转
【发布时间】:2017-05-27 16:10:08
【问题描述】:

我正在尝试使用 libgdx 来制作我的第一个简单游戏。我设法让一条线旋转。

我没有完成的是添加一条垂直线,使其成为十字形,然后旋转这个形状。

public void render(ShapeRenderer renderer) {
    renderer.set(ShapeType.Line);
    renderer.setColor(COLOR);

    /**
     * finding the angle
     */

    float elapsedNanoseconds = TimeUtils.nanoTime() - initialTime;
    float elapsedSeconds = MathUtils.nanoToSec * elapsedNanoseconds;
    float elapsedPeriods = elapsedSeconds / 2.0f;
    float cyclePosition = elapsedPeriods % 1;

    float x = WORLD_SIZE / 2 + radius * MathUtils.cos(MathUtils.PI2 * cyclePosition);
    float y = WORLD_SIZE / 2 + radius * MathUtils.sin(MathUtils.PI2 * cyclePosition);

    //line rotates and moves at the same time. 
    renderer.line(position.x - x, position.y + y, position.x + x, position.y - y);

}

position 是一个Vector2() 类对象,每delta 秒更新一次,并保存当前行的中心。

【问题讨论】:

    标签: java libgdx


    【解决方案1】:

    我设法找到了解决方案。如果有人遇到类似问题,我会留在这里:

    public void render(ShapeRenderer renderer) {
        /**
         * find the angle
         */
        float elapsedNanoseconds = TimeUtils.nanoTime() - initialTime;
        float elapsedSeconds = MathUtils.nanoToSec * elapsedNanoseconds;
        float elapsedPeriods = elapsedSeconds / 2.0f;
        float cyclePosition = elapsedPeriods % 1;
    
        float x = WORLD_SIZE / 2 + radius * MathUtils.cos(MathUtils.PI2 * cyclePosition);
        float y = WORLD_SIZE / 2 + radius * MathUtils.sin(MathUtils.PI2 * cyclePosition);
    
        float x2 = WORLD_SIZE / 2 + radius * MathUtils.sin(MathUtils.PI2 * -cyclePosition);
        float y2 = WORLD_SIZE / 2 + radius * MathUtils.cos(MathUtils.PI2 * -cyclePosition);
    
    
        renderer.set(ShapeType.Line);
        renderer.setColor(COLOR);
    
        renderer.line(position.x - x, position.y + y, position.x + x, position.y - y);
        renderer.line(position.x - x2, position.y + y2, position.x + x2, position.y - y2);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-19
      • 1970-01-01
      相关资源
      最近更新 更多