我在舞台上没有响应触摸的演员有问题
我在这做了什么:
首先我做了一个TestActor类
public class TestActor extends Image {
public TestActor(Texture t) {
super(t);
}
}
我使用Sprite绘制此纹理并在特定的情况下绘制Image的方法 位置。
然后我做了这个课
public class MyActor extends TestActor {
public MyActor() {
super(new Texture("img.png");
// adding input listener to test it
addListener(new InputListener() {
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
if(button == Buttons.LEFT)
System.out.println("actor is touched");
return true;
}
});
}
}
然后我制作了一个舞台课,以保存MyActor的副本
public class MyStage extends Stage {
MyActor[] actors;
public MyStage() {
// I add these actors to the stage and draw them each in a
specific position
}
}
然后我在MyScreen中绘制这个阶段
public class MyScreen implements Screen {
MyStage stage;
public MyScreen() {
stage = new MyStage();
Gdx.input.setInputProcessor(stage);
}
}
除了点击任何演员之外,一切都按照我的要求进行
什么都不给我
问题出在哪里?
答案 0 :(得分:1)
你必须设置actor的大小,也尝试在actor上使用debug
方法并首先检查它的边界。