2014-01-09 3 views
0

나는 학습하려고합니다. 스프라이트 (나무)의 중심을 만질 때 모든 것이 잘 작동합니다. 그러나 스프라이트 맨 위에 닿으면 스프라이트 중심으로 이동합니다.스프라이트가 스프라이트 중앙을 점프하여 점프하면

희망 내 질문은 분명합니다.

image 2 touched on top of the tree but it jumped to where i jumped.

image 1 touch on center marked as red circle

당신의 어떤 부분을 터치하면 내가

final Sprite face = new Sprite(centerX, centerY, this.mFaceTextureRegion, this.getVertexBufferObjectManager()) { 
     @Override 
     public boolean onAreaTouched(final TouchEvent pSceneTouchEvent, final float pTouchAreaLocalX, final float pTouchAreaLocalY) { 
      this.setPosition(pSceneTouchEvent.getX() - this.getWidth()/2, pSceneTouchEvent.getY() - this.getHeight()/2); 
      return true; 
     } 
    }; 
+0

this.setPosition ((pSceneTouchEvent.getX() - this.getWidth())/2, (pSceneTouchEvent.getY() - this.getHeight())/2); –

+0

사실, 나는 여기서 질문을 보지 못했다. 터치 포인트를 중심으로하지 않고 스프라이트를 이동하는 방법을 묻는 중입니까? –

+0

질문이 명확하지 않습니다. 이미지를 누르거나 누르는 곳에서 점프하고 싶습니까? 그렇지 않다면 @MoshErsan이 가리키는 선을 제거해야합니다. 이는 Sprite의 위치가 터치 포인트를 중심으로 설정되기 때문입니다. –

답변

0

를 사용하고 터치에 이벤트 코드 난 당신이 장면의 중심에 스프라이트를 할 생각입니다 Sprite, 하지만 onareaTouched를 사용하면 IOnSceneTouchListener를 다음과 같이 사용해야합니다. -

@Override 
    public boolean onSceneTouchEvent(final Scene pScene, 
      final TouchEvent pSceneTouchEvent) { 
      this.setPosition(pSceneTouchEvent.getX() - face.getWidth()/2, pSceneTouchEvent.getY() - face.getHeight()/2); 

     return false; 
    } 
+0

시간 내 주셔서 감사합니다.하지만 내가 원했던 것은 아닙니다. 나는 나무 꼭대기를 만질 수 없습니다. 즉, 그 위에 터치하면 터치가 트리의 가운데로 점프합니다. – arjunkn

관련 문제