2D ロールプレイング ゲームのプロトタイプを「実際の製品」にリエンジニアリングすることを計画しています。その場合、Android Canvas の代わりに openGl を使用することを考えています。
考えている理由は、ゲームをさまざまな画面解像度のデバイスで動作させたいからです。そうするために、2D ゲームテクスチャが動いている壁に面した openGl の Cameraview を使用することを考えました。現在のデバイスの解像度がゲームコンテンツ全体に対して小さすぎる場合、カメラフレームが「壁」の端に到達するまで、キャラクターが常に中央にくるようにカメラビューを移動します。これは可能な解決策ですか、それとも別の方法を選択しますか?
キャンバスでできるように、openGlでスプライトを描くことさえ可能ですか? 単純に、複数のレイヤーが互いに重なっているようなものです。最初は、ライフバーとして単純な四角形などの数字よりもタイル (その上の赤いライフよりも最初の背景) などです。
positionRect = new Rect(this.getPositionX(), this.getPositionY()
- (this.spriteHeight - Config.BLOCKSIZE), this.getPositionX()
+ Config.BLOCKSIZE, this.getPositionY() + Config.BLOCKSIZE);
spritRect = new Rect(0, 0, Config.BLOCKSIZE, spriteHeight);
canvas.drawBitmap(this.picture, spritRect, positionRect, null);
もしそうなら、最初の背景とおそらく最初のドット(.png画像)を取得することから始めるにはどうすればよいですか? 適切なキックオフを提供するチュートリアルが見つかりませんでした。GLSurfaceView などのプロジェクトをセットアップする方法を知っています。