【发布时间】:2014-12-14 21:47:59
【问题描述】:
battleStage.addActor(aPlayer.handCard1);
aPlayer.handCard1.setPosition(300, -256);
aPlayer.handCard1.addAction(Actions.sequence(Actions.delay(0),
Actions.moveTo(300, 50, 1)));
aPlayer.handCard1.getChildren().items[1].addListener(new ClickListener() {
@Override
public void clicked(InputEvent event, float x, float y) {
aPlayer.handCard1.getChildren().items[1].addAction(Actions.hide());
System.out.println("duh");
}
});
这包含在我的渲染方法中调用的方法中。 它没有被点击。我的控制台中什么也没有出现。我调试了应用程序,并且“items [1]”实际上作为一个孩子就在那里。这是一个图像,当我运行应用程序时,图像会显示出来。
有人可以帮忙吗?提前致谢!
编辑
handCard1 是一个具有 2 个子图像的组。
编辑
我正在做battleStage.addActor(aPlayer.handCard1); 在show()
和
aPlayer.handCard1.setPosition(300, 50);
aPlayer.handCard1.addListener(new ClickListener() {
@Override
public void clicked(InputEvent event, float x, float y) {
aPlayer.handCard1.getChildren().items[1].addAction(Actions.hide());
System.out.println("duh");
}
});
在render() 中,它正在工作。
那我在做
aPlayer.handCard1.setPosition(300, 50);
aPlayer.handCard1.getChildren().items[1].setHeight(256);
aPlayer.handCard1.getChildren().items[1].setWidth(192);
aPlayer.handCard1.getChildren().items[1].addListener(new ClickListener() {
@Override
public void clicked(InputEvent event, float x, float y) {
aPlayer.handCard1.getChildren().items[1].addAction(Actions.hide());
System.out.println("duh");
}
});
}
在render() 中,它不起作用。
【问题讨论】:
-
你在
battleStage.act()render()做吗? -
如果没有设置宽高,clickListener 可能不会被触发。
-
是的。
battleStage.act()在render中被调用。我正在做aPlayer.Card1.getChildren().items[1].setHeight(256);aPlayer.Card1.getChildren().items[1].setWidth(192);仍然没有任何反应
标签: libgdx