2012-12-14 16 views
5

http://obviam.net/index.php/a-very-basic-the-game-loop-for-android/'dan örnek üzerinde çalışıyorum. Birkaç değişiklik yapmak istiyorum. Bu, her yöne görüntü hamle kullanmaGörüntüler sürekli olarak aşağıdan yukarıya doğru nasıl taşınır?

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; 
    } 

} 

. Şimdi sadece bu hareketi alttan üste sınırlamak istiyorum. Ve onclick'in işlevselliği, görüntüyü istenen konuma tıklayıp sürükleyebileceğimizdir. Bunun yerine, resmin kaybolmasını veya başka bir etkinliğe gitmesini istiyorum. Lütfen bu kodda değişiklik yapma konusunda bana yardımcı olun. Şimdiden teşekkürler.

+0

Ben de bilmek istiyorum ... Lütfen yardım edin ... – ALi

+1

Özel float xv = 1; 'ile özel float xv = 0;' yerine? –

+0

@SherifelKhatib bu işe yaramadı. –

cevap

0

Eğer SurfaceView kullandıysanız onDraw(Canvas canvas) yönteminde kod, görüntüyü alttan üste doğru hareket ettirmek için böyle bir şeydir. Bit eşlem bir görüntü (taşımak isteyen Bit eşlem) olan

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

xPoint yPoint y koordinatı ve boya boş olabilir, aynı zamanda bir boya, x koordinatıdır.

ve üst hareketine alt için

sadece onDraw() aramadan önce herhangi dizisindeki

yPoint = yPoint - 1; 

güncelleyin.

Bu size yardımcı olabilir.

+0

onclick işlevi hakkında ne düşünüyorsunuz? –

+0

Bunu, resmin koordinatlarını ve dokunmatik koordinatları bularak onTouchEvent'te yapabilirsiniz. –

+0

Lütfen eğiticiyi kontrol edin ve uygun şekilde cevaplayın. Söylediğim gibi değiştirdiğimde, hala alttan üste doğru en üst düzeye doğru hareket eder ve üst kısma ulaşırken, bitmapler soldan sağa veya ekranın üst kısmındaki soldan sağa doğru hareket eder. Bu yüzden lütfen eğiticiyi bir kez kontrol edin ve sonra cevap verin ve ne yapacağımı biliyorum, ancak nasıl yapılacağını bilmiyorum. İşte bu yüzden buradayım. Öyleyse, lütfen uygun bir şekilde cevap verin. Ve soruya cevap vermek için en azından teşekkürler. Tekrar teşekkürler –

İlgili konular