2011-12-07 2 views
0

터치했을 때 Sprite에 scaleModifier를 적용하고 싶습니다. 아래처럼 scaleModifier를 적용합니다.Animated Sprite가 눌려 졌을 때 scaleModifier를 적용하는 방법 (AndEngine)

mMySprite.registerEntityModifier(new ScaleModifier(2f, 1f, 0.5f)); 

동적 바디가 부착되어 있습니다. 나는 시체가 바뀌지 않을 것이라고 읽었지 만 적어도 스프라이트는 크기를 조정해야합니다. 그러나 아무 일도 일어나지 않습니다. 아무도 내가 어떻게 할 수 있고 무엇이 실종 될 수 있는지 말해 줄 수 있습니까?

답변

1

는이 코드가 있습니다

@Override 
public boolean onSceneTouchEvent(Scene pScene, TouchEvent pSceneTouchEvent) { 
    .... 
    (Some AnimatedSprite object).registerEntityModifier(new ScaleModifier(2, 1, 0.5f)); 
    .... 
} 

을 그리고 그것을 잘 작동합니다.

scene.setOnSceneTouchListener(...); 

을 또는 당신이 onAreaTouch 메소드를 오버라이드 (override)하기로 결심했다면, 당신은 터치 영역로 애니메이션 스프라이트를 등록해야합니다 : 그럼 난 눈치

scene.registerTouchArea(yourAnimatedSprite); 
+0

당신이 IOnSceneTouchListener 사용하는 경우 당신은 또한에 등록되었는지 확인 또 다른 문제는 적절한 생성자 등을 사용하여 AnimatedSprite에 대해 별도의 클래스를 사용하고 있었을 때였습니다. 클래스를 제거하고 시도해 보았습니다. 나는 분리 된 반을 갖는 데있어서 어떤 문제인지 몰랐다. – Khawar

+0

'onAreaTouched'를 오버라이드하고 새로운 클래스 인스턴스를'Scene.registerTouchArea' 메소드로 등록했다면 작동 할 것입니다. – Jong

관련 문제