Android 是否有方法检查是否触摸了libgdx Scene2d图像或演员?
这是我想要创建的libgdx android游戏的示例。还没什么特别的,因为我刚刚开始我的Android游戏冒险 这里有几个问题我想得到回答 到目前为止,我正在使用Gdx.input.isTouched函数并检查它是否与兔子坐标匹配,我对每个兔子都这样做,最后我希望有11个,这太多了,无法编写。是否有方法检查import com.badlogic.gdx.scenes.scene2d.ui.Image中的Image类;被感动了?或者Actor类是否具有该特性 另一件事是,当我实例化bunny类并单击bunny时,它们都变为“害怕”。这是因为场景2D。图像纹理必须是静态的。有没有办法改变这种状况Android 是否有方法检查是否触摸了libgdx Scene2d图像或演员?,android,image,touch,actor,libgdx,Android,Image,Touch,Actor,Libgdx,这是我想要创建的libgdx android游戏的示例。还没什么特别的,因为我刚刚开始我的Android游戏冒险 这里有几个问题我想得到回答 到目前为止,我正在使用Gdx.input.isTouched函数并检查它是否与兔子坐标匹配,我对每个兔子都这样做,最后我希望有11个,这太多了,无法编写。是否有方法检查import com.badlogic.gdx.scenes.scene2d.ui.Image中的Image类;被感动了?或者Actor类是否具有该特性 另一件事是,当我实例化bunny类并
if(Gdx.input.isTouched()){
x = Gdx.input.getX();
y = Gdx.graphics.getHeight() - Gdx.input.getY();
// **** Show Coordinates **** \\
if (x < 420)
font.draw(batch, "x:" + x +
"\n y: " + y, x, y);
else
font.draw(batch, "x:" + x +
" y: " + y, x-65, y);
// **** End Show Coordinates **** \\
//if krolik (bunny) is touched add highscore and change texture to scared
if (x >= krolik.pos.x && y >= krolik.pos.y
&& x <= krolik.pos.x + 64 && y <= krolik.pos.y + 64)
{
krolik.scared();
highscore+=100;
}
else if (x >= krolik2.pos.x && y >= krolik2.pos.y
&& x <= krolik2.pos.x + 64 && y <= krolik2.pos.y + 64)
{
krolik2.scared();
highscore+=100;
}
}
else{
krolik.normal();
}
// **** Show Highscore **** \\
font.draw(batch, "Highscore: " + highscore, 350, 300);
batch.draw(krolik.getTexture(), krolik.pos.x, krolik.pos.y);
batch.draw(krolik2.getTexture(), krolik2.pos.x, krolik2.pos.y);
batch.end();
if(Gdx.input.isTouched()){
x=Gdx.input.getX();
y=Gdx.graphics.getHeight()-Gdx.input.getY();
//****显示坐标*****
if(x<420)
字体绘制(批次,“x:+x+
“\n y:”+y,x,y);
其他的
字体绘制(批次,“x:+x+
“y:+y,x-65,y);
//****结束显示坐标****\\
//如果触摸了krolik(兔子),则添加highscore并将纹理更改为“害怕”
如果(x>=krolik.pos.x&&y>=krolik.pos.y
&&x=krolik2.pos.y
&&为什么你在舞台上使用图像而不是画画?图像和其他演员在舞台上使用,可以很容易地处理你的触摸事件和画画
如下所示创建它们:
for (int i = 0; i < KROLIKS_COUNT; i++) {
final Image krolik = new Image(nonScaredTextureRegion);
krolik.setClickListener(new ClickListener() {
@Override
public void click(Actor actor, float x, float y) {
krolik.setRegion(scaredTextureRegion);
highscore+=100;
}
});
krolik.x = startPosX;
krolik.y = startPosY;
stage.addActor(krolik);
}
然后在渲染中,只需执行以下操作:
stage.act(Gdx.graphics.getDeltaTime());
stage.draw();
看到这个问题:,它可能对actorsAwesome中的输入处理有帮助,这很有帮助,但是你知道我如何使用它来听touchDrawed()或touchDown()方法吗?
stage.act(Gdx.graphics.getDeltaTime());
stage.draw();