LibGdx倾斜图像

时间:2018-03-12 18:42:27

标签: android libgdx

我试图使用LibGdx框架创建一个儿童游戏。我想要完成的是倾斜将用于收集点的气球图像。到目前为止,我已经添加了代码来上下移动气球。我无法弄清楚如何向右或向左倾斜。这是我到目前为止的代码。有人可以帮忙吗

import Foundation

enum SeparatorPaddingLocation{
    case beforeSeparator
    case afterSeparator
}

struct SeparatorToken{
    let separator          : Character
    let formattedSeparator : String
    let paddingLocation    : SeparatorPaddingLocation
}

extension Array where Element == String {

    func aligned(separatorTokens:[SeparatorToken]) -> [String] {

        // This won't compile!
        let remainingSeparatorTokens = Array(separatorTokens.dropFirst())

        return self
    }
}

}

1 个答案:

答案 0 :(得分:0)

我知道两种简单的方法。

Affine2类中有剪切方法。类似的转换方法。

Affine2.shear()

设置仿射矩阵后,您可以使用

绘制它

draw(TextureRegion region, float width, float height, Affine2 transform)

我更喜欢在draw方法中更改顶点属性。

draw(Texture texture, float[] spriteVertices, int offset, int count)

必须有4个顶点,每个顶点按此顺序由5个元素组成:x,y,color,u,v

batch.draw(textures[0], new float[]{
                        0, 0 ,Color.RED.toFloatBits(), 0f, 1f,
                        textures[0].getWidth(),50, Color.BLUE.toFloatBits(), 1f, 1f,
                        textures[0].getWidth(), 50+textures[1].getHeight(), Color.GREEN.toFloatBits(), 1f, 0f,
                        0 ,textures[0].getHeight(), Color.GOLD.toFloatBits(), 0f, 0f},0,20);

您可以为每个顶点设置单独的颜色,或者只需将颜色设置为白色。

example1

您可以根据需要进行更改。

enter image description here