2016-06-25 3 views
0

Ich habe eine Tabelle und Bilder in dieser Tabelle, aber das Problem ist, dass das Bild der Zeichnung ein weißes Rechteck oder Schriftbild (obwohl Bilder der Schriftart ist nicht im Ordner "Assets" vorhanden) anstelle der Textur. Texturen aus dem Ordner "Assets" sind Bilder von Karten. Dies liegt möglicherweise an der Größe der Texturen (ca. 340x500 und 350kb).libGDX --- Bild in Tabelle Zeichnung weiße Farbe oder Schriftbild stattdessen meine Vermögenswerte Dateien

Bitte helfen Sie mir, dieses Problem zu lösen. Ich möchte wirklich mein erstes Spiel schreiben.

public class GameScreen implements Screen { 

final Game game; 
private Stage stage; 
private Table table; 
private Image card1, card2, card3, card4, card5, card6; 

private Cards cards; 

public GameScreen(Game game, Cards cards) { 
    this.game = game; 
    this.cards = cards; 

    stage = new Stage(); 
    Gdx.input.setInputProcessor(stage); 

    card1 = new Image(new Texture(Gdx.files.internal("1.png"))); 
    card2 = new Image(new Texture(Gdx.files.internal("2.png"))); 
    card3 = new Image(new Texture(Gdx.files.internal("3.png"))); 
    card4 = new Image(new Texture(Gdx.files.internal("4.png"))); 
    card5 = new Image(new Texture(Gdx.files.internal("5.png"))); 
    card6 = new Image(new Texture(Gdx.files.internal("6.png"))); 

    table = new Table(); 
    table.setFillParent(true); 
    table.setDebug(true); 
    table.add(card1).width(140).height(202).padLeft(15).padRight(15).padBottom(10); 
    table.add(card2).width(140).height(202).padBottom(10); 
    table.add(card3).width(140).height(202).padLeft(15).padRight(15).padBottom(10).row(); 
    table.add(card4).width(140).height(202).padLeft(15).padRight(15); 
    table.add(card5).width(140).height(202); 
    table.add(card6).width(140).height(202).padLeft(15).padRight(15).row(); 

    stage.addActor(table); 
} 

@Override 
public void show() { 

} 

@Override 
public void render(float delta) { 
    Gdx.gl.glClearColor(0, 0, 0, 1); 
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); 

    stage.act(delta); 
    stage.draw(); 
} 

@Override 
public void resize(int width, int height) { 

} 

@Override 
public void pause() { 

} 

@Override 
public void resume() { 

} 

@Override 
public void hide() { 

} 

@Override 
public void dispose() { 
    stage.dispose(); 
    mySkin.dispose(); 
    dixit.getScreen().dispose(); 
} 

THIS IS SCREENSHOT

+0

Sie haben nur Textur nur card2 hinzufügen, und für andere gibt es keine Textur. Können Sie einen Screenshot Ihrer Ausgabe posten –

+0

@GodslaveAsad Attached Screenshot unter meinem Post. – kovac777

Antwort

0

Von Ihrem Screenshot ist zu sehen, dass nur die card2 Bild, das Sie sehen, die, weil man nur offensichtlich ist gesetzt/geben Textur card2 (die eine Schrift Bild ist glaube ich). Sie müssen Textur (.png Datei in Ihrem Asset-Ordner) für jede der Karten zur Verfügung stellen

Lassen Sie 1.png, 2.png, 3.png, 4.png Dateien in Ihrem Asset-Ordner jetzt müssen Sie setze sie auf deine Bildobjekte. New Image() konstruieren Sie eine leere Textur für Sie.

Hier bin ich Einstellung der pngs, um Ihre Karten

card1 = new Image(); 
    card2 = new Image(new Texture(Gdx.files.internal("12.png"))); 
    card3 = new Image(new Texture(Gdx.files.internal("1.png"))); 
    card4 = new Image(new Texture(Gdx.files.internal("2.png"))); 
    card5 = new Image(new Texture(Gdx.files.internal("3.png"))); 
    card6 = new Image(new Texture(Gdx.files.internal("4.png"))); 

So etwas Kartenbild an Ihre Asset-Ordner hinzufügen und sie auf die Karten gesetzt.

+0

Ich habe meinen Beitrag oben geändert. Das Ergebnis ist das gleiche (( – kovac777

+0

) In meinem Spiel versuche ich Google Play Games Services (TurnBasedGame) über die Schnittstelle zu verwenden. In AndroidLauncher initiiere ich die Anfangsdaten und von AndroidLauncher rufe ich die Methode 'setScreen (new GameScreen ()) '. Vielleicht ist das falsch? – kovac777

Verwandte Themen