1

AndEngineを使い始めたばかりですが、優れたチュートリアルやドキュメントを見つけるのは困難です。プラットフォームと壁がランダムに生成される2D横スクロールゲームを作成しています。ユーザーは、プレーヤーの動き(ジャンプ、前方への歩行)を制御できます。

一般的な質問がいくつかあります。

プレーヤーが動いたときにのみ視差の背景をスクロールさせるにはどうすればよいですか?

物理学の世界の重力をゼロに設定し、実際にそれを必要とする個々のオブジェクトに重力を追加する必要がありますか?重力が浮いているプラ​​ットフォーム/壁に影響を与えたくありません。

プレーヤーが動くときにアニメーション化するにはどうすればよいですか(アニメーション化された歩行)?

衝突検出を行うための最良の方法は何ですか(プレーヤー/敵、プレーヤー/壁/プラットフォームなど)?

申し訳ありませんが、それは一度に質問することがたくさんあったかもしれません。どんな助けでも大歓迎です!

4

2 に答える 2

2

衝突フィルターについては次のとおりです。ここここで
全体的な衝突について質問する場合は、スプライトで行うよりも、heroSprite.collidesWith(enemySprite);
衝突の問題が解決された場合は、ヒーロー(ジャンプ用)に対してのみ重力と体(物理体)を設定できます。 。または、必要なフィルターを作成し、壁を静的ボディとして作成します(固定ボディは重力の影響を受けません)。

アニメーションヒーロー:
テクスチャのロード:
private ITiledTextureRegion hero;

BuildableBitmapTextureAtlas heroTextureAtlas = new BuildableBitmapTextureAtlas(gameController.getTextureManager(), 256, 256, TextureOptions.NEAREST);

this.hero = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(heroTextureAtlas, gameController.getAssets(), "hero.png", 3, 4);

try { heroTextureAtlas.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0)); heroTextureAtlas.load(); } catch (TextureAtlasBuilderException e) { Debug.e(e); }

アニメーション化にこれを使用します。-heroSprite.animate( );メソッドパラメータには大きな選択肢があり、必要なものを探します。

私の英語で申し訳ありませんが、それがあなたのお役に立てば幸いです。

于 2012-11-12T15:09:48.357 に答える
1

プレーヤーが動いたときにのみ視差の背景をスクロールさせるにはどうすればよいですか?

視差の背景は使ったことがありませんが、カメラが動くと背景が動くと思います。プレーヤーが動かない場合、背景も動かないようにカメラは動かないはずです。

物理学の世界の重力をゼロに設定し、実際にそれを必要とする個々のオブジェクトに重力を追加する必要がありますか?重力が浮いているプラ​​ットフォーム/壁に影響を与えたくありません。

いいえ、重力を使用します。力の影響を受けない(したがって動かない)ボディを作成する場合は、このBodyType.StaticBodyオプションを使用します。静的ボディは移動できません(コードのみ)。

プレーヤーが動くときにアニメーション化するにはどうすればよいですか(アニメーション化された歩行)?

AnimatedSpritesExampleを見てください。基本的に、スプライトをアニメートするには、AnimatedSpriteクラスからインスタンス化する必要があり、スプライトにTiledTextureRegion(それぞれ異なる画像を持つ複数の領域が含まれています)を提供する必要があります。animate次に、クラスのメソッドを呼び出すことでAnimatedSprite、アニメーションを開始できます。

衝突検出を行うための最良の方法は何ですか(プレーヤー/敵、プレーヤー/壁/プラットフォームなど)?

Box2Dの使用を計画している場合は、と呼ばれるコールバックを実装できます。このコールバックContactListenerは、ボディがで衝突したときに呼び出されますPhysicsWorld

Box2Dを使用する予定がない場合は、衝突検出にAndEngineのメソッドを使用できます。これがです。

于 2012-11-12T15:06:59.880 に答える