2012-12-14 57 views
5

我一直在努力从http://obviam.net/index.php/a-very-basic-the-game-loop-for-android/的例子在这个我想做一些改变。如何将图像从下往上连续移动?

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

} 

利用这一点,在各个方向上的图像移动。现在我只想限制这个从底部到顶部的运动。 onclick的功能是,我们可以点击并拖动图像到需要的位置。我想用图像消失或去其他活动来取代它。请帮助我对此代码进行更改。提前致谢。

+0

我也想知道...请帮忙... – ALi

+1

用'private float xv = 0;'替换'private float xv = 1;'? –

+0

@SherifelKhatib没有解决问题。 –

回答

0

如果您已经使用了SurfaceView,那么在onDraw(Canvas canvas)方法中,代码用于从下往上移动图像就是这样的。

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

,其中位图图像(这要移动的位图),XPOINT是x坐标,yPoint是Y坐标和涂料是涂料,这也是可以为空。

和底部到顶部的运动只是在任何线程之前onDraw()调用Update

yPoint = yPoint - 1; 

愿这帮助你。

+0

onclick功能如何? –

+0

您可以通过查找图像坐标和触摸坐标在onTouchEvent中执行此操作。 –

+0

请检查教程并相应回答。当我按照自己的说法进行更改时,它仍会从下到上以交叉方式移动,并且在达到顶部时,位图会从屏幕顶部的左侧移动到右侧或左侧移动到右侧。所以请检查一次教程,然后回答,我知道该怎么做,但不知道该怎么做。这就是我来这里的原因。所以如果你知道的话,请回答适当。并感谢至少回答这个问题。再次感谢 –