【发布时间】:2018-04-18 09:44:01
【问题描述】:
我正在开发一个游戏,其中目录中的几张图片显示在屏幕上。
我正在使用scene2d。
但由于某种原因,这些图片没有显示在屏幕上。
任何人都可以解释为什么?
这是我的代码:
public class Picture extends Actor {
private Image img;
public Picture(Image img) {
this.img = img;
}
}
以及应该在其中绘制图片的游戏类别:
public class GameScreen extends Stage implements Screen {
private FileHandle dirWithTextures;
public GameScreen() {
super(new StretchViewport(1260.0f, 836.0f, new OrthographicCamera()));
dirWithTextures = Gdx.files.internal("textures/");
}
public void buildStage() {
ArrayList<Picture> pictureList = new ArrayList<Picture>();
for (int i = 0; i < 4; i++) {
pictureList.add(new Picture(new Image(newTexture(dirWithTextures.list()[i]))));
}
Collections.shuffle(pictureList);
for (Picture p: pictureList) {
p.setPosition(getWidth() / 2, getHeight() / 2, Align.center);
addActor(p);
}
}
}
【问题讨论】:
-
请下次写评论或编辑您的问题,而不是编辑我的答案。你的意思是“我不认为”你先尝试过我的代码吗? Actor 有空的 draw(..) 方法,所以如果你不覆盖它,它就不会被绘制。