戦国シミュレーション 12-14日目 実機で動かない原因調査

実機にて確認して動かない原因を3日かけて調査しました((+_+))

色々とlogをテキストエリアに貼りながら
どこまで動いているのか等調査。
やっぱり、ファイルのようですね。

続けるの方で言えばファイル参照の直前でエラーになっているので読み込めていないんでしょう。
でここは3日かかりましたが無事対応完了。
話すこと盛りだくさん。(でもある程度簡潔に整理します)

【前提】
原因はCSVファイルを実機で読み込むには色々と考慮が必要
※ちなみに自分の実機はandroidの話です。

【パスの指定】※主に3つ
Application.streamingAssetsPath ←「StreamingAssets」というフォルダを作ってそこにデータを置く。(これが実機で読み込める)
Application.persistentDataPath ←実機のストレージを読み込んでくれる(ただPCの方で使うと変な場所なのでデータができたなどはUNITYの画面では確認できない(多分))
Application.dataPath ← 多分実機で使えない?

最初
Application.dataPath
でファイル指定していたがこれではダメ。

Application.persistentDataPath
がよさそうという記載を見つける。

でもこれは、インストール時点で指定のフォルダにデータがあればこれでいいが、
そんなことはあり得ないといっていいと思うので、CSVファイルを取得する必要がある。

で、CSVファイルを取得するには、
Application.streamingAssetsPath
↑にあるものをとってくるのがいいみたい※「StreamingAssets」というフォルダに入っている

でも、簡単には取得できなくて、
取得する専用の方法がある
※ただ推奨されているものはうまくできなかったので、
古い「www」クラスを使用して取得。

結論
Application.streamingAssetsPathにあるファイルを → Application.persistentDataPath にもっていって、
Application.persistentDataPath のファイルをアプリで使う感じ

雑談 ※色々とはまった部分
なぜか2つ目のファイルは読み込めない・・・
wwwで複数回コピーしようとしたんだけど

1つめしか読み込めなかった(読み込む順番を変えて2番にすると読み込めなくなる)
といっても、ファイルがあるかIFで確認するとファイルはある。

でよくわかんない・・・
ってあきらめてアプリそのままで寝て
翌日開くと「おおっ」ってちゃんと読み込めているじゃん
(前日は読み込めなかった全国の家紋が表示された)

ってことで、
処理が重たいの???
って疑って
調べてみると
FINDは重いだの
update()は何も記載してなくても処理がそれなりにうごているなど
そっちの方向も調べてしまいましたが
結果的には関係なかった
※家紋とか出てくる画面でファイルを1つ目にしたらあっという間に表示・・・(処理のサクサクだね。)
色々と勉強にはなったけど遠回り。

ということで
あきらめて
wwwでは1個しかとれないことにしました!!

ロジックに全部書くか or 結合して1ファイルにして取得後分割するか
検討して
結合して分割を選択(うまく動いたので)

まぁ初めてのシステムだと(初見系は)こういう環境関連のところで時間とってしまいますよね。
ただ一度覚えてしまえばいいところなのでひとまず「うまくいく」とわかったところで一安心。

ほんと一人じゃ解決できないよ。
(Webに掲載されていた方々)色々と教えて頂きありがとうございました!

ブログランキング


ゲーム開発ランキング
※↑最後にポチッとして頂ければ励みになります<(_ _)>

シェアする

  • このエントリーをはてなブックマークに追加

フォローする