問題タブ [game-development]

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 に答える
613 参照

c++ - クラスのメンバー変数は、各ループで変更されました(cocos2dx)

cocos2dxプログラムでいくつかのクラスを宣言し、それらのメンバー変数にいくつかの値を設定しましたが、プログラムがループするたびに(CCDirectorのメインループ)、それらの値はすべて削除されました!シーンを置き換える必要があるときに置き換えるかプッシュする必要がある次のシーンをクラスに保存してもらいたい(コードでわかるように、2秒後にintroPageクラスが関数 "IntoPageDone"を呼び出し、シーンを置き換える必要があります)次のシーンにnextSceneという名前の変数を設定しましたが、各ループの後、その値はNULLに変わります。plzはこの問題を解決するのに役立ちます。また、シーンとその変更を処理するためのより良い方法はありますか?tnxたくさん!

StartedPageは、CCLayerColorから継承されたクラスです。CoCoGui.hファイルは次のとおりです。

そしてこれはCoCoGui.cppファイルです:

これはintroPage.hファイルです:

また、IntroPage.cpp

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

objective-c - ボタンを非表示または表示するブール値を保存するにはどうすればよいですか?

私の質問は、ゲーム レベル選択の簡単な方法に関するものです。例: 私は 2 つ持っていViewControllersます。1 つViewControllerは、ゲーム コードをプログラムしました。ゲームの目標を達成すると、隠しボタン ( ) が表示され、次のレベルUIButton.hidden = NOにリンクされます。ViewControllerここまでは順調ですね。

しかし、この状態を保存したいので、アプリを閉じて再度開くと、このレベルの目標をすでに達成しているため、この非表示のボタンは引き続き使用できるはずです。

を使用してみNSUserDefaultsましたが、ブール値を保存する方法がわかりませんでした。if/elseボタントリガーの状態を保存するにはどうすればよいですか?

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

php - Web フロント エンドから GNU screen セッションにコマンドを送信するにはどうすればよいですか?

要するに、管理アプリを構築したいゲームサーバーがあります。私がこれまでに持っているもの:

PHPがこれに対応しているかどうか、または私の権限が正しく設定されているかどうかはわかりません。PHP5、CentOS 6.3。

このタスクにより適した言語や、権限を機能させるための提案はありますか?

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

java - Java マルチプレイヤー ゲーム ネットワークの概念

Java (クライアントとサーバーの両方) でマルチプレイヤー ターン ベースの戦略ゲームを開発しています。私はネットワーク ゲームの経験はあまりありませんが、マルチクライアント チャットやソケットを使用した 2 プレーヤーの三目並べなどの小さなことはしました。これをコーディングしてくれる人を探しているわけではありませんが、ガイダンスを教えてください。

ゲームは複数の段階を経ます。最初にユーザーが接続してログインします。彼がゲームをホスト/参加するオプションを与えられた後. 彼がゲームに参加するか、誰かが彼のゲームに参加した後、クライアントはゲーム ステージに移動します。ゲームは 1 対 1 で、5 秒ごとにデータを送受信するだけで済みます (それが重要な場合は?)。これらの「段階」を通過するようにクライアント/サーバーを設計する方法について、いくつかのガイダンスが必要です。

これは私が現在それを実装することを考えている方法です:

  1. 接続が確立されると、接続には、サーバーの状態を記述する対応する変数が含まれます。例: 0 はログイン前、1 はログイン後、2 はホスティングなど...

  2. クライアントがサーバーにデータを送信するたびに、状態を確認し、それに応じて処理します。ログイン前と同様に、データが送信された場合、サーバーはそれがログインの詳細であると想定し、それらが有効な場合は変数を 1 に変更し、クライアントに先に進むように指示します。

これを行うより良い方法はありますか?

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

objective-c - 残り時間、ユーザーレベル、難易度に基づくゲームスコアアルゴリズム?

残り時間、ユーザー レベル、難易度に基づく優れたゲーム スコア アルゴリズムを誰かが持っているかどうか疑問に思っています。

現在、次のような非常に単純なコード行を使用しています。

これに関する問題は、ポイントの範囲が違いすぎることです。たとえば、レベル 1 で難易度が白黒 1 ~ 3、最大時間が 30 秒の場合、ユーザーは 100 ~ 9000 ポイントを獲得します。

また、より高いレベルでは、返されるポイントが高すぎます。各レベルで付与されるポイントを高くしたいのですが、現在の計算式では結果が高すぎます。たとえば、難易度が 3 で最大時間が 30 秒のレベル 10 では、ユーザーは 3,000 ~ 90,000 ポイントを受け取ることになります。繰り返しますが、ポイントの差が大きすぎて、90,000 ポイントは高すぎます。

どんな助けでも大歓迎です。ありがとう!

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

python - Python MMO ゲームでプレイヤー データを最も効率的に保存するにはどうすればよいですか?

私はPython 2.7 でゲームRealm of the Mad Godに似た MMO シューティング ゲームを開発しています。

ゲームのプレイヤー データには、ゲームの各プレイヤーの着用装備、プレイヤーの名前などが含まれます。そのため、プレイヤーがキャラクターをログオフすると、プレイヤー データが保存され、永続的な方法で保存され、ログオンすると、繰り返しますが、プレイヤー データがゲームに読み込まれます。安全のために、一意のプレーヤー データ エントリの数は 1,000,000 エントリになると見積もっています。

すべてのプレーヤー データを 1 つの大規模な txt ファイルに保存する方が効率的でしょうか?それとも 26 ファイル、または 26*26 ファイルに保存する方が効率的でしょうか? これらのエントリを整理する最良の方法は何ですか?

記入例:

0 投票する
6 に答える
9541 参照

java - Java グラフィックが点滅する

わかりました、SSCCE の必要性を理解したので、(私の最初の) SSCCE を作成しました。

200 行未満のコードで問題を再現することができました。私のシステムでは、このデモは完全にコンパイルされ、実行されました (ちらつきだけが残っていました)。関係のないものはすべて剥ぎ取りました。つまり、基本的には、スクリーン マネージャーとゲーム マネージャーの 2 つのソース ファイルがあります。

画面マネージャー: http://pastebin.com/WeKpxEXW

ゲームマネージャー: http://pastebin.com/p3C5m8UN

このコードは、次の make ファイルを使用してコンパイルできます (Linux の Windows 用の移植バージョンの make を使用します): CC = javac BASE = nl/jorikoolstra/jLevel CLASS_FILES = classes/$(BASE)/Game/GameMain.class classes/$ (BASE)/Graphics/ScreenManager.class

ソースファイルがディレクトリに配置され/src、クラスがディレクトリに配置されます/classes

バイトコードにコンパイルした後、次の .bat ファイルを使用してゲームを開始できます。

ARGUMENT変数は自分の画面設定に依存し、ゲームが画面に適切な解像度で表示されるように変更する必要があることに注意してください。

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

javafx-2 - javaFx2.0でのキー入力

私は現在javaFX2.0ゲームに取り組んでおり、特定のキーを入力すると何かが発生するようにする方法を知りたいです。これを読んでいただきありがとうございます。

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

java - ゲーム内のスレッドの識別 (TCP 関連も)

これは学校のプロジェクトです。コードを提供しないでください。正しい方向に導くためのヒントを探しているだけです。

クライアントがサブスクライブするゲーム サーバーを作成してテストします。サブスクライブすると、クライアントは現在プレイ中のゲーム (同じゲームで、その「インスタンス」が異なるだけ) のリストを受け取ります。その後、クライアントはゲームに参加するか、新しいゲームを開始するかを選択できます。実際にゲームを開始するには、少なくとも 2 人のプレイヤーが必要です。システムは、すべてが 1 つのゲームをプレイする複数のクライアント、または複数のゲームをプレイする複数のクライアントをサポートする必要があります。

このプロジェクトの目的は、Java、TCP、およびスレッド化の経験を積むことです。

私の現在の設計と実装には、server.java と client.java の 2 つのファイルがあります。

  1. サーバーファイルには、サーバー、ロビー、ゲームの 3 つのクラスがあります。
  2. クライアント ファイルには、クライアント クラスが 1 つあります。

「ゲーム」の実装は些細なことですが、それで問題ありません。

現在、サーバー クラスはクライアント クラスとの TCP 接続を確立します。クライアントがインスタンス化されるたびに、サーバー クラスでソケットが受け入れられ、プログラムが続行されます。

続いて、サーバー クラスはロビー クラスを作成します。

ロビー クラスは、私が問題を抱えている場所です。デフォルトでは、1 つの「ゲーム」オブジェクトを作成し、clientSocket に渡します。

ゲームクラスはスレッドを拡張します。これが正しい方法だと思います。各「ゲーム」はいわば個別のスレッドになるため、プレイヤー A と B は 1 つのスレッドを共有し、プレイヤー C と D は別のスレッドで新しいゲームを開始できます。

私はスレッドを初めて使用しますが、これは私が考えることができる最良の実装です。ロビー用に複数のスレッドを使用することはあまり意味がなく、クライアント用に複数のスレッドを使用するのも無意味なので、ゲーム クラスのマルチスレッド化は理想的だと思います。

現在、クライアントの 2 つのインスタンスを作成すると、両方とも同じ「スレッド」に参加しています (両方とも同じゲーム内にあり、互いに通信できます)。

新しいプレイヤーがロビーに「new」などと入力して、新しいスレッドである新しい「ゲーム」を作成できるようにするにはどうすればよいですか。

スレッド化などに関する特定の部分を誤解していると確信していますが、助けていただければ幸いです。

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

java - スレッドを介したマルチクライアントを備えたサーバー

少し問題があります。このチュートリアルを見てきました 。http://docs.oracle.com/javase/tutorial/networking/sockets/clientServer.html このチュートリアルでは、複数のクライアントが接続できるサーバーを提供します。サーバーに接続すると、ノックノックジョブを実行するように指示されます。データを転送する方法と転送しない方法を理解しましたが、スレッドはどのように機能しますか?

私はサーバーが位置を保持してクライアントに渡すネットワーク化されたポンゲームに取り組んでいます、今私はサーバーに接続されたクライアントを持っていて、ボールの位置はクライアントに渡され、うまく機能し、少しびくびくしますが私は.sleepのあるスレッドが役立つと確信しています。とにかく私の質問は、どうすればクライアントをスレッドにすることができるかということです。どうすればそれらを保存できますか?

たとえば、ここにノックノックサーバーのマルチスレッドクラスがあります

そして、ここのサーバーには

サーバーを見ると、接続ごとに新しいKKMultiServerThreadが作成されますが、どうすればそれらを保存できますか?KKMultiServerThreadの配列を作成できますか?KKMultiServerThreadの配列を作成しようとしましたが、この行を試してみると

「voidをスレッドに変換できません」というエラーが表示されます。誰かが私の問題に光を当てることができれば、それは素晴らしいことです。

キャンバス

アップデート

私は今、自分のスレッドクラスを持っています

pongDataは、すべての情報を文字列にまとめた文字列です。これで、pongサーバーの上部でplayer1を宣言すると、次のようになります。

聞いているときにこの行を実行します

「voidからPongPlayerThreadに変換できません」というエラーが表示されます。これを修正するにはどうすればよいですか?