0

I'm developing a game by andengine.I have player.And there are enemies that are coming random time with MoveModifier and they are sprite.I want: The plyer shoot a bullet and the bullet touch enemy, the enemy will be invisible.How can I do?

Bullet

  private Runnable mStartCircle1 = new Runnable() {

            public void run() {
                final Scene scene= HelicopterActivity.this.mEngine.getScene();



                 float velocityOfCircleC=1.6f;
                    float startXC=player.getX()+50;
                    float finishXC=800;
                    float startYC=player.getY()+15;
                    float finishYC=startYC;

                    bullet=new Sprite(startXC, startYC, HelicopterActivity.this.gasTextureRegion);
                    bullet.registerEntityModifier(
                            (IEntityModifier) new SequenceEntityModifier (
                                    new MoveModifier(velocityOfCircleC, bullet.getX(),  finishXC, bullet.getY(), finishYC)));

                    scene.attachChild(bullet);

Enemy

      int j=0, k=0;
    private Runnable mStartCircle = new Runnable() {

        public void run() {
            final Scene scene= HelicopterActivity.this.mEngine.getScene();

            float startY=randomNumber.nextInt(670 - 1); 
            float velocityOfCircle=6;
            enemy[j] = new Sprite( 800, startY, HelicopterActivity.this.enemyTextureRegion);
            enemy[j].registerEntityModifier(
                    (IEntityModifier) new SequenceEntityModifier (
                                new MoveModifier(velocityOfCircle, enemy[j].getX(),  -128, 
                                        enemy[j].getY(), enemy[j].getY())));
            scene.attachChild(enemy[j]);

            float startY2=randomNumber.nextInt(670 - 1); 
            float velocityOfCircle2=10;
            enemy2[k] = new Sprite( 800, startY2, HelicopterActivity.this.enemy2TextureRegion);
            enemy2[k].registerEntityModifier(
                    (IEntityModifier) new SequenceEntityModifier (
                                new MoveModifier(velocityOfCircle2, enemy2[k].getX(),  -128, 
                                        enemy2[k].getY(), enemy2[k].getY())));
            scene.attachChild(enemy2[k]);






            k++;
            j++;

            if (k<50){
                mHandler.postDelayed(mStartCircle,5000);
            } 

     }};


                if (i<1000){
                    mHandler.postDelayed(mStartCircle1,1000);
                } 

         }};
user1391058
  • 265
  • 4
  • 19

2 Answers2

2

Here is similar game to yours.. in these examples is collision detection example:

Simple android game tutotrial using andengine

Improved version of the game

Aleksandrs
  • 1,488
  • 1
  • 14
  • 34
1

One way to detect collision is to treat bullet and enemy both as rectangles and detect whether rectangles are colliding or not, check this to know how to detect collision between the rectangles.

otherwise, check out this tutorial to know how to detect collision between two bodies of any shape.

Community
  • 1
  • 1
Eight
  • 4,194
  • 5
  • 30
  • 51