在Andengine中触摸并拖动精灵

时间:2014-08-05 14:37:48

标签: andengine

我试图制作一个精灵,所以当你触摸它并拖动你的手指时,精灵会跟随你的动作。我试图遵循AndEngine的例子,但它们是GLES1的一部分。我正在使用GLES2。

在我的代码中,正在调用onAreaTouched,但不会连续调用它来用我的手指更新精灵。

提前致谢。

public class RectangleFactory extends Sprite {

public float randomNumber;

public RectangleFactory(float pX, float pY, ITextureRegion pTextureRegion,
        VertexBufferObjectManager pVertexBufferObjectManager) {
    super(pX, pY, pTextureRegion, pVertexBufferObjectManager);
    // TODO Auto-generated constructor stub

    Random random = new Random();
    randomNumber = (float) random.nextInt(BallShakeActivity.CAMERA_WIDTH);

};

@Override
public boolean onAreaTouched(TouchEvent pSceneTouchEvent, float X, float Y)
{
    Log.d("Mark", "circles are touched");
    this.setPosition(pSceneTouchEvent.getX() - this.getWidth() / 2, pSceneTouchEvent.getY() - this.getHeight() / 2);

    if(pSceneTouchEvent.isActionMove()){
        Log.d("Mark", "finger is moving");
    }       

    return true;
    };


@Override
protected void onManagedUpdate(final float pSecondsElapsed){

    if(this.mY > 0f){       

    }
    else{
        Random random = new Random();
        randomNumber = (float) random.nextInt(BallShakeActivity.CAMERA_WIDTH);
        this.setPosition(randomNumber, 800f);
    }

    super.onManagedUpdate(pSecondsElapsed);

}
}

1 个答案:

答案 0 :(得分:0)

您可以在Nicolas'Github页面的AndEngine GLES2存储库中找到AndEngineExamples的一些示例,包括触摸拖动示例。
https://github.com/nicolasgramlich/AndEngineExamples

示例似乎主要针对GLES2分支,但也可能有GLES2-AnchorCenter分支的一些示例。

部分代码适用于GLES1 / master分支,但您主要依靠自己的分支示例。