andengine中的对象图像之间的接触

时间:2015-03-01 10:10:53

标签: java andengine

我尝试连接到图像和对象之间的冲突,如何获取对象的位置以将其与角色进行比较? 我想知道是否有更方便的方式

1 个答案:

答案 0 :(得分:0)

@Override
public void onPopulateScene(Scene pScene,
        OnPopulateSceneCallback pOnPopulateSceneCallback) {

    rec = new Sprite(100, 100, 80, 30, mGameBackgroundTextureRegion, mEngine.getVertexBufferObjectManager());
    mScene.attachChild(rec);
    mScene.setOnSceneTouchListener(this);
    pOnPopulateSceneCallback.onPopulateSceneFinished();

    Rectangle mRectangle = new Rectangle(400, 0, 500, 80, mEngine.getVertexBufferObjectManager());
    mRectangle.setColor(0.0f, 1.0f, 0.0f);
    mRectangle.setZIndex(0);    
    //Attach to the scene and the ShapeScrollContainer
    mScene.attachChild(mRectangle);

     Log.d("x = " + mRectangle.getX(), "x = " + mRectangle.getX());
     Toast.makeText(this, "dfsdf", Toast.LENGTH_SHORT).show();


     //mRectangle.setPosition(pX, pY)
    // if(){

     }

@Override
public void onResumeGame() {
    super.onResumeGame();
}

@Override
public void onPauseGame() {
    super.onPauseGame();
    Log.d("Dfd","dfd");
}

@Override
public boolean onSceneTouchEvent(Scene pScene, TouchEvent pSceneTouchEvent) {
    if(pSceneTouchEvent.isActionDown()){
        rec.clearEntityModifiers();
        MoveModifier move = new MoveModifier(1,rec.getX(),rec.getY(),pSceneTouchEvent.getX()
                ,pSceneTouchEvent.getY());
        rec.registerEntityModifier(move);

        int numx1 = 150;
        int numx2 = 650;
        int numy1 = 0;
        int numy2 = 80;

         if (rec.getX() >= numx1 && rec.getX() <= numx2 && rec.getY() >= numy1 && rec.getY() <= numy2 ){
             Log.d("touched", "touched" + rec.getX() + " Y: " + rec.getY());
         }