0

アンドエンジンでゲームを開発しています。プレイヤーがいます。そして、MoveModifier でランダムに来る敵があり、それらはスプライトです。欲しい: プレイヤーが弾丸を撃ち、弾丸が敵に触れると、敵は見えなくなります。僕にできる?

銃弾

  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);

      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);
                } 

         }};
4

2 に答える 2

2

これはあなたのゲームに似ています..これらの例では、衝突検出の例です:

andengineを使った簡単なAndroidゲームのチュートリアルトライアル

ゲームの改良版

于 2012-06-04T05:00:57.080 に答える
1

衝突を検出する 1 つの方法は、弾丸と敵の両方を長方形として扱い、長方形が衝突しているかどうかを検出することです。これを確認して、長方形間の衝突を検出する方法を確認してください。

それ以外の場合は、このチュートリアルをチェックして、任意の形状の 2 つのボディ間の衝突を検出する方法を確認してください。

于 2012-06-02T11:02:45.087 に答える