ページ

2013年11月9日土曜日

実際にPhotonCloudを使ってみる~基本編①~

それでは今回から、実際のスクリプティングについて解説しようと思います。
誰かのお役に立てれば良いのですが・・・。

なお、解説は全て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 件のコメント:

コメントを投稿

状況に応じてご返事できない場合がございます。
予めご了承ください。