問題タブ [2d-games]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
45 参照

iphone - UIImageがアニメーションを継続的に再生しないようにする方法

私はゲームを作成していますが、現在、「プレーヤー」は実装したとおりにアニメーション化されており(現時点では間違っています)、関数が呼び出されると常に最初から再起動するため、アニメーションは最初から最初まで継続的に実行されます。これを防ぎ、アニメーションを最後まで実行させるための最良の方法は何ですか?現在使用しているコードは次のとおりです。

0 投票する
1 に答える
6153 参照

python - キーを押すとPygameの音が鳴る

現在、pygameを試しているところですが、背景が白で画像だけのウィンドウを作成しました。矢印キーを使用して画像を移動できるようにしたい(正常に動作している)だけでなく、矢印キーが押されているときにエンジン音mp3を再生したい。これは私が現時点で持っているコードです:

画像は正常に読み込まれ、画面内を移動できますが、音がまったく出ません

0 投票する
2 に答える
419 参照

java - 単純な Java ゲーム: 移動するカーソルによって描かれた図形を塗りつぶす

だから私は Java コースの紹介のプロジェクトを行っていますが、私ができることをはるかに超えたものを選んだようです。:P
どんな助けでも大歓迎です。これは私が問題を抱えているものです:

プレーヤーによって制御されるカーソル (前進または 90° 回転) があり、進むにつれて色付きの線が残ります。独自の線を越えて任意の形状の多角形を閉じることができた場合 (直角のみ)、その表面の色が線の色に変わります。

この状況がいつ発生したかを検出できますが、閉じたばかりの正しいポリゴンを実際に塗りつぶす方法がわかりません。可能なすべてのケースをカバーするアルゴリズムを想像できないようです。

スキャンライン塗りつぶしアルゴリズムを調べましたが、マップに既にいくつかのポリゴンが塗りつぶされているときまでに問題が発生し始めると思います。ポリゴン内のポイントを見つける方法があれば、Floodfillアルゴリズムは完璧ですが、さまざまな可能性があるため、これに関する一般的なルールは思いつきません。

各色が数値で表される整数の配列 2x2 を使用しています。

この問題にアプローチする方法について誰か考えがありますか?

0 投票する
3 に答える
2256 参照

java - Javaマルチレイヤートップダウンゲームのサーバー側にデータを保存するための最良の方法

私と何人かの友人はJavaでトップダウンのシューティングゲームを作っており、それをオンラインにしたいと思っていました。正常に機能するUDPソケット接続を設定しましたが、クライアントから受け取ったデータを保存する方法がわかりません。

現在、データを保存するためにいくつかのハッシュマップを使用しています。たとえば、プレーヤーの追跡、ゲーム情報(プレーヤーの数など)、弾丸(弾丸の位置、発射した人など)の3つのハッシュマップがあります。

しかし、ハッシュマップ以外にこのデータを保存するためのより安全な方法があるはずですが、何が必要かはわかりません。

thx-Philippを編集してください(申し訳ありませんが、半分まともな質問に時間がかかりました)

このデータを格納するためにハッシュマップを使用することについての私の懸念は、それらに入れるデータが非常に多いことです。現在、オブジェクトのすべてのデータを格納するために単一の行を使用しています。たとえば、プレーヤーのハッシュマップの行にはプレーヤーが含まれます。キーとしてのid、「hp、xloc、yloc」などの他のものを格納するための文字列値。次に、これを分割して使用します。私が考えることができないのは、データを保存および取得するための最も効率的な方法です。

それでも意味がない場合は申し訳ありません。

私の本当の質問は、より効率的な代替手段があるかどうか、またはハッシュマップが最善の方法であるかどうかということだと思います。

ありがとう

0 投票する
2 に答える
5615 参照

javascript - WebGLで呼び出しをバッチ処理する最速の方法

2Dゲームエンジン用にキャンバスベースのレンダリングを書き直そうとしています。私は順調に進歩しており、スケーリング、回転、ブレンドを備えたテクスチャをwebglコンテキストにうまくレンダリングできます。しかし、私のパフォーマンスは最悪です。私のテストラップトップでは、一度に1,000個のエンティティが画面に表示されるバニラ2Dキャンバスで30fpsを取得できます。WebGLでは、画面に500個のエンティティがある30fpsを取得します。状況は逆になると思います!

Float32Array私は、犯人が私が投げかけているこのすべての緩衝ゴミであるというこっそりの疑いを持っています。これが私のレンダリングコードです:

そして、これが私の単純なテストシェーダーです(これらにはブレンド、スケーリング、回転がありません):

より良いパフォーマンスを得る方法について何かアイデアはありますか?drawArrayをバッチ処理する方法はありますか?バッファのゴミを減らす方法はありますか?

ありがとう!

0 投票する
1 に答える
164 参照

flash - グリッドへの波及効果 - 彼らがこれをどのように行っているかについて何か考えはありますか?

このアプリがこの特定の波及効果をどのように達成するのか疑問に思っています。

http://img44.imageshack.us/img44/6182/music.swf

これは、あなたがプレイしたことのあるトーン マトリックス ゲームです。実装はありません。ここでアルゴリズムについて疑問に思っているだけです。いくつかの理論がありますが、あなたの理論を知りたいです!これがひどい質問であれば申し訳ありません。

0 投票する
2 に答える
430 参照

node.js - アーキテクチャ的に分離されたランナーとレンダラーを備えたNode用のゲームライブラリ

Nodeを使って簡単なゲームを作成しています。デバイス間の通信にはsocket.ioを使用しています。

ノードサーバーにすべてのゲームロジックを処理させたい。衝突検出、スコアなど。

次に、ノード(socket.io)サーバーは、表示情報をクライアントに送信する必要があります。プレイヤーの位置、スコア、マップサイズなど。

クライアントは、上下などのナビゲーションコマンドをサーバーに送信できる必要もあります。また、マップなどから抜け出そうとするのを避けるために、衝突検出が必要になる場合があります。その場合、ナビゲーションデータを送信する必要はありません。

私の質問は、この種のロジックを処理するライブラリはありますか?JS用のゲームライブラリがいくつかあることは知っていますが、私が見る限り、それらはロジックとレンダリングを処理するためのものであり、ノードサーバーで使用するようには作られていません。

どのように機能すると思いますか

私は以前、レンダリングとロジックの両方にCraftyを使用しました。ラファエルでゲームを描いてみようと思っています。

0 投票する
2 に答える
106 参照

java - 「Androidゲームアプリの実行中」はlogcatに警告メッセージを表示します

ゲームアプリの実装プロセスを学ぶために、ゲームプロジェクトをインポートしましたが、プロジェクトを実行すると、logcatにこのエラーメッセージが表示されます。「ランチャーアクティビティが見つかりません。起動すると、デバイス上のアプリケーションパッケージのみが同期されます。」私のマニフェストを編集しましたが、それでも出力を取得します "Manifeast.xml

0 投票する
1 に答える
285 参照

ios - ハイスコ​​アと現在のスコア

ゲームプレイの現在のスコアとストーリーのベスト スコアを画面に表示したいと考えています。仕事ですが、ゲームを再開するたびに、現在のスコアが最高のスコアよりも低くても、最高のスコアが変わります。

スコアを保存する方法、スコアを追加する方法、ゲーム終了時にスコアをリセットする方法があります。

そして、init メソッドでは:

ありがとうございました。

0 投票する
1 に答える
103 参照

iphone - ゲーム中の画面のハイスコアと現在のスコア

ゲームプレイの現在のスコアとストーリーのベスト スコアを画面に表示したいと考えています。仕事ですが、ゲームを再起動するたびに、現在のスコアが最高のスコアよりも低くても、最高のスコアが変わります。

スコアを保存する方法、スコアを追加する方法、ゲーム終了時にスコアをリセットする方法があります。

そして、init メソッドでは:

ありがとうございました。