行。让我们直接潜入。 我使用LibGdx创建了一个基本的塔防游戏,但我遇到了一些问题。我有我的Screen课程,我也有一个基本敌人的课程。这是敌人的阶级:
private int segment = 1;
Texture img;
public towerBasic(){
img = new Texture("towerBasic.png");
setTexture(img);
setX(10);
setY(10);
}
public void update(){
if(segment == 1){
System.out.println(getY());
setY(getY()+1);
}
}
}
它看起来很好(对我来说......如果你看到错误,请告诉我)。类名也是" towerBasic"。那是我试图渲染的精灵类。这是我尝试渲染它的屏幕类(Map1):
private SpriteBatch batch;
public Texture maptex;
public Sprite map;
public towerBasic tower;
MainGame game;
public Map1(MainGame game){
this.game = game;
}
@Override
public void show() {
batch = new SpriteBatch();
maptex = new Texture("map1.png");
map = new Sprite(maptex);
tower = new towerBasic();
}
@Override
public void render(float delta) {
tower.update();
Gdx.gl.glClearColor(1, 1, 1, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
batch.begin();
map.draw(batch);
tower.draw(batch);
batch.end();
}
我运行启动器,正确的屏幕启动并正确渲染背景图像,除了没有绘制敌人......任何见解?
答案 0 :(得分:2)
你应该创建基础对象并将 Texture 实例传递给它 - 然后如果有必要,你可以将它分配给 Texture 字段。
在坚果壳中, towerBasic 类应如下所示:
Texture img;
public towerBasic(){
super(new Texture("towerBasic.png"));
img = this.getTexture();
...