【问题标题】:Image moving side to side图像左右移动
【发布时间】:2018-06-16 17:58:47
【问题描述】:

我的问题是我正在创建一个游戏,我必须让图像从屏幕的一侧移动到另一侧,然后从屏幕的同一侧返回。例如,我有一个水母的图像,它开始从屏幕的右侧移动到左侧,然后我希望它从右侧返回。我被困住了,不知道该怎么办。我正在使用 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();
    }
}

【问题讨论】:

  • 第一步是弄清楚如何每隔一段时间重复一些事情。从那里你知道如何改变图像的位置,这将允许你在一个方向移动它。然后你创建一个关于你想要做什么的高级描述(“如果我们在左边,我们需要开始向右移动”)并将其分解成更小的部分(“'在左边'做什么就代码而言是什么意思?”,“'开始向右移动'是什么意思?”)然后从那里开始编写代码。让我们为你完成这个过程,只是给你代码不会教你太多。

标签: java libgdx


【解决方案1】:

如果您想连续从左到右反弹图像,请创建一个无限循环,增加 x 直到它 >= 您的显示宽度,然后再减小它直到它

我从未使用过 LIBGDX,但如果您想使用 Graphics 类,它会如下所示:

示例:

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

这应该无限循环。

【讨论】:

    猜你喜欢
    • 2016-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多