誰かのお役に立てれば良いのですが・・・。
なお、解説は全てC#で行います。
悪いことは言わないので、こういう外部のプラグイン的な物を使うときはC#が良いです。
JSだとPhotonCloudのファイルをPluginフォルダに移動したり、ところどころ書き換える必要があるっぽいので。
さて、以前の記事にPhotonCloudについての流れが書いてありますね。
この1~7に沿って実際の構文を記します。
1.ゲームにログイン
処理的には
- ゲームロビー(PhotonCloud)への接続
「lobbyMain.cs」
public class lobbyMain : Photon.MonoBehaviour {
void Start () {
PhotonNetwork.ConnectUsingSettings("0.1");
}
}
以上です。簡単ですね。
これを適当なゲームオブジェクトに追加してあげれば大丈夫です。
ポイントはMonoBehaviourにPhotonを継承して、Photon.MonoBeheviourとすること。
継承って何なのかよくわからないんですが、Photonというクラスで定義された関数やらを使えるようにすること、みたいです。
◆ConnectUsingSettings("0.1")
「0.1」という文字列のロビーに接続する、みたいなイメージです。
使い方としては、ゲームのバージョンアップの際など、新旧のアプリケーションが同じロビーに接続するとまずい時などに使います。
一例ですが、ここを「0.2」にすると、同じ「0.2」と定義されたアプリケーションが同じロビーへと接続されます。
2.好きな部屋を選ぶか、自分で部屋を作って入室
処理的には
- 現在募集中のルームを検索して、存在すれば入室
- なければ自分で作成して入室
「lobbyMain.cs」
public class lobbyMain : Photon.MonoBehaviour {
void Start () {
PhotonNetwork.ConnectUsingSettings("0.1");
}
//ロビーに入室した後に自動的に実行される
void OnJoinedLobby(){
PhotonNetwork.JoinRandomRoom();
}
//RandomJoinが失敗したとき(ルームが存在しなかったとき)に自動で実行される
void OnPhotonRandomJoinFailed(){
PhotonNetwork.CreateRoom("testRoom");
}
}
先ほどのスクリプトに追記しました。
OnJoinedLobbyやOnPhotonRandomJoinFaildに関しては、コメント行がそのまま説明です。
詳しいことは分かりませんが、そういうものだと理解してください。
なぁに、車の構造を知らなくても運転は出来るんですよ。私免許持ってないですが。
◆JoinRandomRoom()
存在する部屋を検索し、そのどれかに入室するという意味です。
◆CreateRoom("testRoom")
「testRoom」という名前の部屋を作成し、入室するという意味です。
部屋の名前は重複せず、検索のキーにもなります。
絵的に何の変化も無いのでわかりにくいですが、一応これだけで複数のプレイヤーが同じルームに打ち込まれる処理が完成しました。
次回はもうちょっと絵的に分かりやすくして、条件設定をしてみましょう。
おかしいところがありましたら、何卒ご教示ください。
0 件のコメント:
コメントを投稿
状況に応じてご返事できない場合がございます。
予めご了承ください。