4

SpriteLibGDXで描画しようとしています。次のように、使用するテクスチャを指定するコンストラクタを使用すれば、それを行うことができます。

Sprite sprite = new Sprite(new Texture(Gdx.files.internal("path")));

しかし、代わりに使用してからand/orSprite();を使用しようとすると、絵が描かれません。API は、何かを描画する前に「テクスチャ、テクスチャ領域、境界、および色」を設定する必要があると述べています。、、および を呼び出しましたが、何も描画されていません。setTexturesetRegionsetTexturesetRegionsetColor

主な質問: デフォルトのSprite()コンストラクターを使用する場合、後で確実に画面に描画されるようにするために何をする必要がありますSpriteBatchか?

4

1 に答える 1

3

コードはSprite(Texture) ctor とまったく同じ手順を実行する必要があると思います。

public Sprite (Texture texture) {
    this(texture, 0, 0, texture.getWidth(), texture.getHeight());
}

public Sprite (Texture texture, int srcX, int srcY, int srcWidth, int srcHeight) {
    if (texture == null) throw new IllegalArgumentException("texture cannot be null.");
    this.texture = texture;
    setRegion(srcX, srcY, srcWidth, srcHeight);
    setColor(1, 1, 1, 1);
    setSize(Math.abs(srcWidth), Math.abs(srcHeight));
    setOrigin(width / 2, height / 2);
}

これらはすべて public メソッドです。

于 2013-02-11T04:00:32.830 に答える