0

私は Photon Unity Networking を使用しており、私の小さなゲームに取り組んでいます。

プレイヤーとモブがいる部屋があるところまで来ました。新しいプレーヤーが表示されたら、RPC 呼び出しを使用して、このプレーヤーに関する情報を他のすべての接続ユーザーに更新し、同期します。問題は、この新しいプレイヤーが部屋の残りの部分に関する情報を持っていないことです (彼の情報は最新ではありません)。たとえば、他のプレイヤーの現在の健康状態やモブの現在の健康状態などです。

私が思いついた唯一の解決策は、RPC をマスター クライアントに送信し、周囲のすべての揮発性オブジェクトを通過させ、この更新でいくつかの RPC 呼び出しを新しいプレーヤーに送り返すことです。

私が尋ねているのは... 本当にこのようにしなければならないのですか?または、他の方法、より良い方法または簡単な方法はありますか?

4

1 に答える 1

0

さて、フォトン ネットワーキングはフォトン ネットワーク ビューを介して機能します - そしてその観察されたコンポーネントは、この観察されたスクリプト内のスクリプトを渡す必要があることを意味します (そのキャラクターとあなたがそれを制御している場合)

m_PhotonView = GetComponent<PhotonView>(); //Variable
if( m_PhotonView.isMine == true ) //in Void Update()

SetSynchronizedValues() を使用して、必要なすべての変数、位置、回転、名前、ヘルス、アニメーションに関連するデータなど

Variable = GetComponent<PhotonTransformView>();
Variable .SetSynchronizedValues( Position, Health , Name);

変数を同期し、制御されていないキャラクターのみの場合は、それらを使用する必要があります(名前を表示し、オブジェクトを正しい位置に設定し、ヘルスバーを表示してサイズを変更します)

if( m_PhotonView.isMine == false)

お役に立てれば幸いです

于 2015-02-05T01:07:51.983 に答える