ほとんどのゲームでは、プレイヤーは宝かそれに類似したものを集める必要があります。この短い記事では、簡単に"コイン"を制御する方法を記載します。
Spriteクラスの拡張を作成する必要はありません。必要に応じて、Sprite もしくはAnimatedSprite で十分です。 コインの基本クラスとしてSprite を使用しているので、この例ではAndEngine のエフェクトのみが使われています。 ではこの例にしたがってやってみましょう。以下に説明があります。
Text scoreText = new Text(0, 0, yourFont, "Score:0123456789", this.getVertexBufferObjectManager());
private void addToScore(int i) { scoredPoints += i; scoreText.setText("Score: " + scoredPoints); }そしてこれで、"コイン"を表すSprite を作成しましょう
final Sprite coin = new Sprite(x, y, width, height, coinTextureRegion) { @Override protected void onManagedUpdate(final float pSecondsElapsed) { if (player.collidesWith(this)) { setVisible(false); //Play pick up sound here addToScore(10); setIgnoreUpdate(true); } super.onManagedUpdate(pSecondsElapsed); } }; coin.setCullingEnabled(true); scene.attachChild(coin);
そして、この例では単にコインsprite がプレイヤー(別のエンティティ)と衝突しているかどうかをチェックして、衝突していればSprite を非表示にしてスコアを変更して音声を鳴らして以降の更新を無視するように設定します。基本的にはそれで全てです。 また、回転や透明などの視覚効果を追加するために ENTITY MODIFIERS を登録することもできます。