gpt4 book ai didi

java - 使用 Sprite 创建菜单按钮

转载 作者:太空宇宙 更新时间:2023-11-04 12:15:50 26 4
gpt4 key购买 nike

我目前正在为我的游戏的菜单屏幕进行编程。我试图创建一个矩形来检查 Sprite 按钮是否被触摸。我使用任意世界坐标public static int WIDTH = 1080,HEIGHT = 720;

    public void create() {

cam = new OrthoCamera();
cam.resize();

texture = new Texture("Button.png");

texture.setFilter(TextureFilter.Linear, TextureFilter.Linear);
TextureRegion region = new TextureRegion(texture, 59, 52, 300,250);

sprite = new Sprite(region);
sprite.setSize(sprite.getWidth() , sprite.getHeight() )
sprite.setPosition(MyGdxGame.WIDTH / 2, MyGdxGame.HEIGHT / 2);

}

我正在使用特殊的正交相机,如果你想查看两个相关的类,请点击 here 。 (不是我的项目)

    public void update(OrthoCamera cam) {

if(Gdx.input.isTouched())
{

Vector3 tmp = new Vector3( Gdx.input.getX(), Gdx.input.getY(), 0);
cam.unproject(tmp);

Rectangle textureBounds = new Rectangle(0,0, 300, 250); //origin at center ?!



if(textureBounds.contains(tmp.x,tmp.y))
{

//ScreenManager.setScreen(new GameScreen());
System.out.println("Rectangle")
}
}

}

通过测试,我发现矩形坐标系的原点位于中心,并且宽度和高度设置得太高。在这里,您可以看到我通过单击打印出“矩形”的区域的图片。通常矩形的原点应该在左下角,对吗?

enter image description here

最佳答案

我强烈建议您使用例如 Scene2d 。它可以轻松地为您的应用创建用户界面。

这样您就可以使用 ImageButton并向其附加一个 ClickListener,以便在单击按钮时获取回调。

关于java - 使用 Sprite 创建菜单按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39420695/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com