2014年7月18日金曜日

PhotonCloud photonView.isMineについて

 どうも凡人なsiroponnです。

前の投稿にphotonについて話すと書いた。
僕が言っているphotonとはExitGamesが開発しているPhotonCloudのことである。
https://www-jp.exitgames.com/ja/Realtime

そもそもphotonCloudとはなんぞや?って知らない人は思うでしょう。
詳細は上のリンクを見てもらうとして。
簡単に言うと、オンラインゲームを、自分でサーバを立てなくて、「お手軽」につくれるサービスです。

その中でも僕はunityユーザーなのでPhotonUnityNetworking(PUN)について書いていくことになります。
untiy
http://japan.unity3d.com/
 もしかしたら、unityを使わずのAndroid開発やiOS開発、HTML5での開発やcocos2d-xでの開発もするかもしれない。でも、当分はPUNの話です。

さて、技術的な話を書くぞ。
以下はphotonを使ったことがある人向け。

PUNを使っているとこういうコードに出くわす。(シンタックスハイライトしなきゃ。でもめんどくさい)



class test : Photon.Monobehaviour
{
        void test()
        {
             if(photonView.isMine)
             {
                 "なんかのコード "
             }
        }
}



で、 "なんかのコード"部分が実行されない時がある。


それはPhotonNetwork.ConnectUsingSettings("貴方のアプリの適当なバージョン")をあらかじめ呼ばなかった場合である。photonView.isMineがfalseを返しているのだ。

自分はオフライン環境でもコードを使えるようにしていたのだが、一向に”なんかのコード”部分が実行されず二時間ぐらい唸っていた。
なお、PhotonNetwork.offlineModeの値をtrueにしても駄目だった。なぜだ……。



では、凡人はこれにて失敬。

0 件のコメント:

コメントを投稿