0
スプライトを画面の外に出せないようにしたいと思います。私は試みたが、私はそれを縁から跳ね返させた。画面外に出るのを避けてください(Android)(libGDX)
しかし、私は、画像に衝突縁(S)に向かって移動を停止する必要があります。
たとえば、右下に向かって斜めにドラッグすると、スプライトが右端に衝突し、それでもコーナーまで滑ります。
このようなの種類:
私のコードの試み(結果のための最初の画像を参照してください):
public class MyGdxGame extends ApplicationAdapter {
SpriteBatch batch;
Texture img;
Sprite sprite;
float offsetX;
float offsetY;
@Override
public void create() {
batch = new SpriteBatch();
img = new Texture("badlogic.jpg");
sprite = new Sprite(img);
}
@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();
/*
Bouncing sprite off the edge.
*/
if(sprite.getX() <= 0){
sprite.setX(1);
} else if(sprite.getX() + sprite.getWidth() >= Gdx.graphics.getWidth()){
sprite.setX(Gdx.graphics.getWidth() - sprite.getWidth() - 1);
} else if(sprite.getY() <= 0){
sprite.setY(1);
} else if (sprite.getY() + sprite.getHeight() >= Gdx.graphics.getHeight()) {
sprite.setY(Gdx.graphics.getHeight() - sprite.getHeight() - 1);
}
if (Gdx.input.justTouched()) {
offsetX = Gdx.input.getX() - sprite.getX();
offsetY = Gdx.graphics.getHeight() - Gdx.input.getY() - sprite.getY();
}
if (Gdx.input.isTouched()){
sprite.setPosition(Gdx.input.getX() - offsetX, (Gdx.graphics.getHeight() - Gdx.input.getY()) - offsetY);
}
}
}
をそして、あなたの試みの結果は何ですか??:
次に、あなたのコードにこれを追加するには、あなたのisTouchedを()の編集 –
@ΦXocen웃いepepeúpaそれはバウンス! :)最初のイメージのように。私はそのバウンスを取り除く必要があります。 – Beckham