問題タブ [photon]

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

c# - PhotonServer初心者の質問

Photon Serverの公式フォーラムで質問しましたが、このウェブサイトほど活発ではないので、私が話していることを理解している人もいるかもしれませんので、時間と知識があれば共有してください。ありがとうございました!

ここに来る...

だから、私はPhoton上のサーバーの非常にうまく機能するプロトタイプと、サーバーと通信する基本的なUnity3Dクライアントを持っています。これは、cjrgamingの例から作成されました。

クライアントは次のことができます:接続、リクエストの送信、暗号化されたリクエストの確立と送信サーバーは次のことができます:ピアの作成、操作リクエストの受信、クライアントへの操作応答またはイベントの送信、私の小さな追加は次のとおりです:ゲームに多くの操作がある場合、巨大なswitch caseステートメントを使用する必要はありませんが、操作をカテゴリ(クラス)に分割し、デリゲートとディクショナリを使用してそれらを呼び出します。

投稿の準備ができたら、その実例を投稿しますが、実際の質問に答えます。(長い投稿で申し訳ありませんが、私が知っていることとこれまでに持っていることを説明する必要がありました):

クライアントからサーバーに送信される実際の操作は何ですか?または、サーバーからクライアントに発生したイベント(すべてのクライアントを一度に?)?

最初は、それぞれの操作がゲーム内の特定のユーザーフローだと思っていました。たとえば、操作コード「1」は、プレーヤーXがプレーヤーYを撃ち、何かをしたいことを意味します。しかし、その後、バイト制限に従って、short intなどに拡張せずに、すべてのゲームロジックを255回の操作だけに入れることはできないことに気付きました。

次に、同じ操作コード要求で異なる可能性があるchannelIDもあることがわかりました...つまり、操作コードはユーザーフローではなく、クライアント間の同じ/類似のアクションのデータストリームですおよびserverであり、channelIDを使用して、サーバーで計算される要求された操作を区別できます。

それで...!私は(ダミーの私)、クライアントからサーバーに、またはその逆に送信されるパラメーターが辞書にあることに気付きました。これにより、可能なユーザーフローの別のレイヤーが追加されます。

だから..今、私は物事を理解していると思いますが、彼らは私をさらに混乱させました。

誰かが操作/イベント/channelIDの目的を簡単に説明できますか?たとえば、小さなマルチプレーヤーゲームを行う場合、ユーザー(ゲーム)フローを作成するために使用するものは、次のようになります。->プレーヤーがターゲットに当たる、プレーヤーが世界のアイテムを拾う、プレーヤーがメッセージを送信する。このフローごとに一意のオペコードを使用しますか、それとも操作を意味ごとにグループ化し、チャネルを使用してリクエストを区別しますか、それともここでも、多くのユーザーフローに同じchannelIDを使用し、パラメーター内のIDでそれらを異なりますか?

私が意味をなしたことを願っています。

少なくとも時間はありますが、助けてくれてありがとう!

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

cross-platform - Photon ServerとPhoton Cloudの違いは何ですか?

Photon ServerとPhoton Cloud製品の違いは何ですか?

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

c++ - PhotonCloudでハッシュテーブルを使用してデータを送信する

フォトンクラウドでHashtableを使用してデータを送信しようとしていますが、正しいeventCodeでデータを受信しますが、キーと値のペアがいくつかの乱数を返します。データ送信中の私のコードは次のようになります:-

データを受信して​​いる間、コードは次のようになります:-

コンソールに出力されるのは、ランダムな値またはintですが、21である必要があります。ここで何が間違っているのでしょうか。

編集:
私が 次customEventAction()のステートメントを使用したとき:

次の出力が得られました。

検索したところ、'i'その値は、EG_INTEGER送信している値が正しく受信されていることを意味します。に戻すことができませんでしたint。そして、なぜイベントコードが次のように来るの'd'ですか?

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

networking - 弾丸は他のプレイヤーと衝突しません

私は武器の1つとして火炎放射器に取り組んできました。そのプラットフォームマルチプレイヤーオンラインゲーム。フォトンでも動作します。私は炎(そして他のライフルの弾丸も)に問題があります。

火炎放射器が発射する炎は、PhotonNetwork.Instantiateでインスタンス化されています。そして、それらはそれらをインスタンス化したプレーヤーと衝突し、他のプレーヤーはそれらがインスタンス化されたものとそれらの動きを見ることができます。しかし、何らかの理由で、それらをインスタンス化するプレーヤーは、彼らが誰に衝突するかを確認し、それらが衝突するのを確認しますが、撃たれた他のプレーヤーは、炎が自分自身または壁に衝突するのを確認しません。炎は、衝突と移動のスクリプトとphotonViewコンポーネントを所有しています。

この問題を解決するにはどうすればよいですか?

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

network-programming - Photon View を使用した Unity の AI キャラクター

Photon マルチプレイヤー コードと Rain Indy AI を使用して、Unity で小さなゲームを構築しています。AI を追加する前は、すべてのゲーム オブジェクトが同期していましたが、新しい AI キャラクターは各ゲーム インスタンスによって個別に制御されているように見えました。

私は弾丸でいくつかの類似の問題を抱えていましたが、ここでは、プレーヤーのインスタンス化で、プレハブのシュートスクリプトをオンまたはオフにします。

AI コードのインスタンスが 1 つだけ実行されていることを確認する最善の方法は何ですか? AI キャラクターもプレハブに変換する必要がありますか?

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

windows-phone-8 - PhotonView.Get(this) は null を返します

PUN 1.22 を Unity3d wp8 プロジェクトに統合します。正しくビルドされますが、PhotonView.Get(this) は null を返します。それは何でしょうか?

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

ios - IOS Photon Cloud SDK の getRoomList 関数が機能しない

私はオンライン ゲーム モードを備えた cocos2d-x ゲームを開発しています。Photon Cloud SDK ( http://www.exitgames.com )によって設計および実装されたオンライン ゲーム。ios版のみ実装しましたが動きません。私が実装したコードは打撃です。

void NetworkLogic::opJoinRandomRoom() {

}

void NetworkLogic::update(float dt) {

}

void NetworkLogic::run(void) {

最初に 1 つのアプリを実行すると、getRoomList 関数は 0 の値を返します。また、最初の部屋を作成して2番目のアプリを実行した後でも、getRoomList関数0が返されます。助けてください。

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

encryption - Photon Server で暗号化を義務付ける

フォトンのドキュメントには、次のように記載されています

当社が提供するアプリケーション フレームワーク (Lite、LoadBalancing など) では、操作が暗号化されて送信された場合、サーバーは自動的に暗号化して応答します。これにより、暗号化をオンにしてリクエストするだけで、重要なデータを安全に取得できます。

サーバー側で必須にすることはできますか? 操作が呼び出された場合、または暗号化されていない状態で受信された場合、Photon は特定のイベントを処理しませんか?

0 投票する
0 に答える
933 参照

debugging - Photon Serverのデバッグ

バックエンドで Unity3D と PhotonServer を使用してオンライン ゲームを開発しており、Visual Studio 2013 を使用してプロジェクトをデバッグしています。プロジェクトのデバッグを開始すると、VS からいくつかの Photon Server のソースコード ファイル (例: ApplicationBase.cs、PeerBase.cs) を提供するように求められます。修正方法は?どんな助けでも感謝します。

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

c# - Unity 3D: 最初のプレーヤーが切断されると RPC バッファが機能しなくなる

Unity とのネットワーキングに Photon を使用しています。これは、ピア ツー ピア ネットワーク ライブラリです。私は基本的に、いくつかのゲームの状態を変更するために、すべてのターゲット (バッファ) への RPC 呼び出しを行っています。ただし、最初のプレーヤーが切断されると、将来のプレーヤーはゲームの状態を取得できなくなります。