1
a. 나는 물건이있다. b. 사용자가 화면을 터치하면 사용자 터치 좌표에 쉽게 트위닝됩니다. c. 사용자가 손가락을 드래그하면 객체는 모션 이벤트 ACTION_MOVE의 입력 데이터로 만들어진 경로를 가로 지르기 만하면 해당 경로를 따라갑니다.오브젝트가 항상 가장 짧은 거리를 향해/앞으로 이동하는 방법은 이미 다음과 같습니다.
내가 만드는 정확한 경로를 따르는 대신 사용자가 터치 좌표에 가장 가까운 거리에 개체가 있도록 어떻게 만들 수 있습니까?
결국 개체는 사용자 터치 좌표를 따라야합니다.
public Scene onLoadScene() {
this.getEngine().registerUpdateHandler(new FPSLogger());
final Scene scene = new Scene();
scene.setBackground(new ColorBackground(0.09804f, 0.6274f, 0.8784f));
final int x = (CAMERA_WIDTH - this.mFaceTextureRegion.getWidth())/2;
final int y = (CAMERA_HEIGHT - this.mFaceTextureRegion.getHeight())/2;
final Sprite face = new Sprite(x, y, this.mFaceTextureRegion);
scene.registerTouchArea(face);
scene.attachChild(face);
//face.setPosition(134, 200);
//face.registerEntityModifier(new MoveModifier(500, x, 100, y, 200, EaseQuadIn.getInstance()));
scene.setOnSceneTouchListener(new IOnSceneTouchListener() {
@Override
public boolean onSceneTouchEvent(Scene pScene,TouchEvent pSceneTouchEvent) {
int facePosX = (int) (pSceneTouchEvent.getX() - face.getWidth()/2);
int facePosY = (int) (pSceneTouchEvent.getY() - face.getHeight()/2);
if (pSceneTouchEvent.getAction() == MotionEvent.ACTION_MOVE)
{
face.registerEntityModifier(new MoveModifier(1, face.getX(), facePosX,face.getY(), facePosY, EaseQuadIn.getInstance()));
}
return true;
}
});
scene.setTouchAreaBindingEnabled(true);
return scene;
}
좋은 아이디어. 나는 그것을 시도하고 나의 진도를 게시 할 것입니다. 감사 –