[英]LIBGDX not rendering a sprite made by a class
好。 让我们直接潜入。我正在使用LibGdx来创建基本的塔防游戏,但是我有一些问题。 我有屏幕课程,也有基本敌人课程。 这是敌人的职业:
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();
}
我运行启动器,启动正确的屏幕并正确渲染背景图像,除非没有绘制敌人...有什么见解?
您应该创建一个传递了Texture实例的基础对象-然后在必要时将其分配给Texture字段。
简而言之,您的towerBasic类应如下所示:
Texture img;
public towerBasic(){
super(new Texture("towerBasic.png"));
img = this.getTexture();
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.