gpt4 book ai didi

java - 在libgx java android游戏中制作椭圆对象

转载 作者:行者123 更新时间:2023-12-01 10:36:38 26 4
gpt4 key购买 nike

我尝试在 libgdx 中创建一个椭圆对象。抱歉,如果我无法正确描述,但我是 Java 新手。

我的代码如下:

public class GameScreen implements Screen{

MyGame game;
OrthographicCamera camera;
SpriteBatch batch;
...
Ellipse playBounds;

public GameScreen(MyGame game) {
this.game = game;
camera = new OrthographicCamera();
camera.setToOrtho(false, 1080, 1920);
batch = new SpriteBatch();
state = GAME_READY;
touchPoint = new Vector3();
pauseBounds = new com.badlogic.gdx.math.Rectangle(1080-128,1920-128,128,128);
playBounds= new Ellipse()
}

...

public void render(float delta) {
Gdx.gl.glClearColor(1F, 1F, 1F, 1F);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
camera.update();
generalupdate();
batch.setProjectionMatrix(camera.combined);
batch.begin();
batch.draw(Assets.sprite_bg, 0, 0);
switch (state){
case GAME_READY:{
batch.draw(Assets.sprite_startScreen, 0, 0);
batch.draw(Assets.sprite_playButton,218,800,644,225);
break;
}

基本上它绘制背景,欢迎屏幕和按钮(上面有“播放”)所以这里我做了一个触摸检测。

        if (Gdx.input.justTouched()) {
camera.unproject(touchPoint.set(Gdx.input.getX(), Gdx.input.getY(), 0));
if (state==GAME_READY);
if (playBounds.contains(touchPoint.x, touchPoint.y)) {
state=GAME_RUNNING;

绘图工作正常,但问题是当我触摸按钮时它不起作用,相反,如果我触摸它附近游戏就会按应有的方式启动

最佳答案

好吧,忽略代码中的几个错误,我假设这些错误是在此处而不是实际代码中产生的,我相信问题可能是您没有在椭圆中设置值。我指的是宽度、高度、x 和 y。

<小时/>

实现此目的的一个好方法是使用构造函数:

椭圆( float x, float y, float 宽度, float 高度)

而不仅仅是:

椭圆()

<小时/>

这样您就可以立即设置值。引用this website有关更多信息,请参阅 LibGDX 的省略号。

如果这不能解决您的问题,您可能需要发布更多代码的相关部分。

关于java - 在libgx java android游戏中制作椭圆对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34679081/

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