在libgx java安卓游戏

时间:2016-01-08 14:12:23

标签: java android libgdx

我试图在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;

绘图工作正常,但问题是当我触摸按钮时它不起作用,如果我触摸它附近游戏开始应该

1 个答案:

答案 0 :(得分:1)

好吧,忽略我在这里假设的代码中的几个错误而不是实际的代码,我相信问题可能是你没有在Ellipse中设置值。我的意思是宽度,高度,x和y。

一个很好的方法是使用构造函数:

Ellipse(float x,float y,float width,float height)

而不只是:

椭圆()

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

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