2012-12-14 3 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 = 1;'을'private float xv = 0;'으로 대체 하시겠습니까? –

+0

@SherifelKhatib는 제대로 작동하지 않았습니다. –

답변

0

SurfaceView를 사용한 경우 onDraw(Canvas canvas) 메서드에서 이미지를 아래에서 위로 이동하는 코드는 다음과 같습니다. 비트 맵 이미지 (이동할 비트 맵) 인

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

는 xPoint는 yPoint는 y 좌표이고, 페인트 널이 될 수도있는 도료는이 X 좌표이다.

과 최고의 운동 바닥에

onDraw() 호출하기 전에 스레드에서

yPoint = yPoint - 1; 

를 업데이트합니다.

도움이 될 수 있습니다.

+0

onclick 기능은 무엇입니까? –

+0

onTouchEvent에서 이미지 및 터치 좌표의 좌표를 찾아서이 작업을 수행 할 수 있습니다. –

+0

자습서를 확인하고 적절하게 답변하십시오. 내가 말했듯이 내가 바꿀 때, 여전히 아래에서 위로, 그리고 위쪽에 도달 할 때 십자형으로 움직이며, 비트 맵은 화면 상단에서 왼쪽에서 오른쪽 또는 왼쪽에서 오른쪽으로 움직입니다. 자습서를 한 번 확인한 다음 대답하고 무엇을해야 할지를 알고 있지만 수행 방법은 알지 못합니다. 그래서 내가 여기 왔어. 알고 계시면 적절하게 대답하십시오. 그리고 atleast가 질문에 대답하기 위해 위로 향한 것에 대해 감사드립니다. 다시 한 번 감사드립니다. –

관련 문제