2014年10月13日月曜日

Application.persistentDataPathでエラーが出る

おーすsiroponnです。

今回はApplication.persistentDataPathでエラーが出る件についてです。
先日Application.persistentDataPathにWWWクラスでアクセスしたらこんなエラーを取得しました。

java.net.MalformedURLException; protocol not found;
/data/data/com.hoge.hoge2/files/hoge3.txt

てな感じです.hogeは適当な値です。

どうやら、WWWではApplication.persistentDataPathにはアクセス出来ないみたいです。
もしかしたら出来るのかもしれませんが、僕は出来ませんでした。
ただ、FileクラスやFileStreamではアクセスできるみたいなのでそちらを使えばよいみたいです。
その場合は非同期の方がいいですよね。めんど。
まぁ、C#5.0(.NetFramework4.5?)になってからasync:awaitなる、非同期を楽に記述できるものがあるから結構楽にできるっぽい?
ただ、僕の家のeditorだと対応していない。2010のVSだからか。それとも.NetFramework4.5が入っていないからか。ただ、有料版で結構使いやすいから手放せない。

まぁそんなことはどうでもいいか。とりあえず、みなさんはお気をつけてください。これで1~2時間無駄にしましたので。

Poka!


2014年10月6日月曜日

シーンにオブジェクトを残したい時

おひさです。siroponnです。
PUNでシーンにオブジェクトを残したい時についてです。
PhotonNetwork.Instantiate(略)だと、そのObjectを生成したプレイヤーが抜けた時、消えてしまいます。
そういう時はPhotonNetwork.InstantiateSceneObjectメソッドを使いましょう。
これで生成されたオブジェクトはownerIDが0になり、sceneが所有していることになります。
ただ、このメソッドを呼べるのはMasterClientのみっぽいです。
フィールドで全てのキャラが共通で使うものに使えそうです。

あとはPhotonNetwork.autoCleanUpPlayerObjectsを変えることで同じことができそうかも。
僕の方でも検証してみますが、 興味を持ったら検証してみてください。

じゃ、また今度。