2012-12-14 8 views
5

Pracowałem nad przykładem z http://obviam.net/index.php/a-very-basic-the-game-loop-for-android/ W tym chcę wprowadzić kilka zmian.Jak przesuwać obrazy od dołu do góry w sposób ciągły?

Speed.java

public class Speed { 

    public static final int DIRECTION_RIGHT = 1; 
    public static final int DIRECTION_LEFT = -1; 
    public static final int DIRECTION_UP = -1; 
    public static final int DIRECTION_DOWN = 1; 

    private float xv = 1; // velocity value on the X axis 
    private float yv = 1; // velocity value on the Y axis 

    private int xDirection = DIRECTION_RIGHT; 
    private int yDirection = DIRECTION_DOWN; 

    public Speed() { 
     this.xv = 1; 
     this.yv = 1; 
    } 

    public Speed(float xv, float yv) { 
     this.xv = xv; 
     this.yv = yv; 
    } 

    public float getXv() { 
     return xv; 
    } 
    public void setXv(float xv) { 
     this.xv = xv; 
    } 
    public float getYv() { 
     return yv; 
    } 
    public void setYv(float yv) { 
     this.yv = yv; 
    } 

    public int getxDirection() { 
     return xDirection; 
    } 
    public void setxDirection(int xDirection) { 
     this.xDirection = xDirection; 
    } 
    public int getyDirection() { 
     return yDirection; 
    } 
    public void setyDirection(int yDirection) { 
     this.yDirection = yDirection; 
    } 

    // changes the direction on the X axis 
    public void toggleXDirection() { 
     xDirection = xDirection * -1; 
    } 

    // changes the direction on the Y axis 
    public void toggleYDirection() { 
     yDirection = yDirection * -1; 
    } 

} 

Stosując ten przemieszcza się obraz we wszystkich kierunkach. Teraz chcę ograniczyć ruch z dołu do góry. Funkcją onclick jest to, że możemy kliknąć i przeciągnąć obraz do wymaganej pozycji. Chcę to zastąpić, po prostu sprawić, by obraz zniknął lub przejść do innej czynności. Pomóż mi w wprowadzaniu zmian w tym kodzie. Z góry dziękuję.

+0

Chcę wiedzieć też ... Proszę pomóż ... – ALi

+1

Zastąp 'private float xv = 1;' zamkiem 'private float xv = 0;'? –

+0

@SherifelKhatib, które nie wyszło. –

Odpowiedz

0

jeśli użyłeś metody SurfaceView, to w metodzie onDraw(Canvas canvas) kod dla ruchomego obrazu od dołu do góry jest podobny do tego.

canvas.drawBitmap(bitmap,xPoint,yPoint,paint); 

gdzie jest obraz mapy bitowej (Bitmap, który chcesz przenieść), xPoint jest współrzędna x, yPoint jest współrzędna y i farba jest farbą, która jest również może być null.

i do dołu do góry ruch wystarczy zaktualizować

yPoint = yPoint - 1; 

w każdym wątku przed onDraw() rozmowy.

To może ci pomóc.

+0

co z funkcjonalnością onclick? –

+0

Możesz to zrobić w onTouchEvent, znajdując współrzędne obrazu i współrzędne dotykowe. –

+0

Sprawdź samouczek i odpowiedz odpowiednio. Kiedy zmieniam się zgodnie z opisem, nadal porusza się w poprzek od dołu do góry, a po dotarciu do góry mapy bitowe przesuwają się od lewej do prawej lub od lewej do prawej u góry ekranu. Więc proszę sprawdź samouczek raz, a następnie odpowiedz i wiem, co robić, ale nie jak to zrobić. Właśnie dlatego jestem tutaj. Więc proszę odpowiedz odpowiednio, jeśli wiesz. I dziękuję za co najmniej, że podniosłem się, by odpowiedzieć na pytanie. dzięki jeszcze raz –

Powiązane problemy