Как вы программируете непрерывный метод? - PullRequest
0 голосов
/ 16 января 2019

Я новичок, и я хотел попытаться заставить космический корабль непрерывно снимать, пока программа не остановлена. Однако я не знаю точного или лучшего способа сделать это. Я был бы очень рад, если бы вы могли мне это объяснить. Я запрограммировал все остальные, поэтому отсутствует только сам метод. Спасибо!

package gmbh.hier.mache.ich.was.bullethell;    
import android.graphics.Canvas;    
import android.view.MotionEvent;    
import Engine.Constants;    
import Engine.Scene;    
import Engine.Sprite;    
import static Engine.MainThread.canvas;

/**
 * Created by X on 21.03.2018.
 */

public class GameplayScene implements Scene {
    Sprite raumschiff;
    Sprite bolte;    
    Sprite shot;

    int bewegung = 5;

    public GameplayScene() {

        setup();

    }


    @Override    
    public void setup(){
        raumschiff = new Sprite(Constants.CURRENT_CONTEXT,R.drawable.raumschiff,Constants.SCREEN_WIDTH/4,Constants.SCREEN_WIDTH/4,Constants.SCREEN_WIDTH/2, Constants.SCREEN_HEIGHT/2);
        bolte = new Sprite(Constants.CURRENT_CONTEXT,R.drawable.bolte,Constants.SCREEN_WIDTH/4, Constants.SCREEN_WIDTH/4,Constants.SCREEN_WIDTH/2, Constants.SCREEN_HEIGHT/3);
        shot = new Sprite(Constants.CURRENT_CONTEXT,R.drawable.shot,Constants.SCREEN_WIDTH/7, Constants.SCREEN_HEIGHT/10, raumschiff.getX()-0, raumschiff.getY() -250);
    }

    @Override
    public void update() {

        raumschiff.changeY(raumschiff.getY()-0);
        shot.changeY(shot.getY()-5);

        bolte.changeX(bolte.getX()+ bewegung);
        if(bolte.getX() < 1)
        {
           bewegung = 5;
        }
        if(bolte.getX() > Constants.SCREEN_WIDTH)
        {
            bewegung = -5;
        }      

    }

    @Override
    public void draw(final Canvas canvas) {
        canvas.drawARGB(255, 25, 25, 112 );
        raumschiff.draw(canvas);
        bolte.draw(canvas);
        shot.draw(canvas);

    }

    @Override
    public void receiveTouch(MotionEvent event) {
            try {
            Thread.sleep(35);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

    }

}
...