图像左右移动

时间:2018-06-16 17:58:48

标签: java libgdx

我的问题是我正在创建一个游戏,我必须让图像从屏幕的一侧移动到另一侧,然后从屏幕的同一侧返回。例如,我有一个水母的图像,它开始从屏幕的右侧移动到左侧,然后我希望它从右侧回来。我被困住了,不知道该怎么做。我使用的是LIBGDX和JAVA。

My code so far is :

package gdx.game;

import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Input;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.math.MathUtils;
import java.awt.Graphics;

public class Main extends ApplicationAdapter {
    SpriteBatch batch;
    Texture img;
    Sprite sprite;
    float fGrav, fVelo, fX, fY;


    @Override
    public void create() {
        batch = new SpriteBatch();
        img = new Texture("JellyFish.png");
        sprite = new Sprite(img);
        sprite.setScale(0.3f);
        fX=0;
        fY=0;

    }

    @Override
    public void render() {
        Gdx.gl.glClearColor(1, 0, 0, 1);
        Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);


        batch.begin();
        sprite.draw(batch);
        batch.end();



    }

    @Override
    public void dispose() {
        batch.dispose();
        img.dispose();
    }
}

1 个答案:

答案 0 :(得分:1)

如果要从左到右连续反弹图像,请创建一个增加x的无限循环,直到它> =您的显示宽度,然后将其减小直到它<= 0,然后重复。

我从未使用过LIBGDX,但是如果你想使用Graphics类,它将如下:

示例:

boolean f = true;
int x = 0;
while (f) {
    while (x <= SCREEN_WIDTH) {
        x++;
    }
    while (x >= 0) {
        x--;
    }
}

这应该无限循环。