FC2ブログ
    02 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.» 04

    ハルシオンシステムの気ままBlog

    株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

     

    【Unity他】リア充ちょーすげー!そしてお邪魔します。からのー ネットワーク越しのデータ取得方法。 

    こんちゅぁ 坂内っす。

    先週はポケットガールのインタビューが前後半の2回にわたり掲載頂きました。
    前半:http://app-review.jp/news/254844
    後半:http://app-review.jp/news/255051
    APPREVIEW様ありがとうございます。

    そんなポケガですが、現在着せ替えシステム作成中です。
    もうしばしお待ちくださいませ。
    時間がかかってしまい申し訳ございませんorz

    そういえば、「リア充爆発しろ!」すごい盛り上がってますね。
    https://itunes.apple.com/jp/app/id975744915?mt=8&ign-mpt=uo%3D4
    すげーよ上原さん!
    堂々の1位じゃないっすか。

    そして何故かお邪魔してます!



    ポケガがこんなところに出てました!!!!
    ありがとう上原さん(!?)

    この辺でちょっとDLが増えたのはリア充効果なのか?


    ちょこっと増えました。あざす!

    んで、ここからが技術ネタ。

    これが、本当に正しいかは分からないけど、一応こんな感じでできたよっていう話。

    ネットワーク越しでデータをもってきて、それをローカルに保存する。
    2回目以降は、ローカルのデータを参照するって方法です。
    追加データはAssetBundleとか使うのが普通だと思うんですが、なんか難しかったんで、こんな方法見つけてみました。
    いいんでしょうかね?

    今回はuGUIのImageに、ネットワーク越しでとってきたTextureを入れてみるというのをやってみました。

    画像データを、http://xxxxxx.xx/xxxxx/xxx.png 等に置きます。
    んで、以下のコードを書いてあげます。

    	WWW www;
    public Image sprite;

    void Start () {
    StartCoroutine("LoadData");
    }

    IEnumerator LoadData(){
    string filename = "xxx.png";
    string url = "http://xxxxxx.xx/xxxxx/";
    #if UNITY_EDITOR
    string path = "file:///"+Application.persistentDataPath+"/";
    #elif UNITY_ANDROID
    string path = "file://"+Application.persistentDataPath+"/";
    #endif
    if (System.IO.File.Exists (Application.persistentDataPath+"/"+ filename)) {
    www = new WWW (path + filename);
    while(!www.isDone){
    yield return null;
    }
    }
    else if (!System.IO.File.Exists (Application.persistentDataPath+"/"+ filename)) {
    www = new WWW (url + filename);
    while(!www.isDone){
    yield return null;
    }
    System.IO.File.WriteAllBytes(Application.persistentDataPath+"/"
                                  + filename , www.bytes);
    }
    sprite.sprite = Sprite.Create(www.texture,new Rect(0f,0f,320f,480f),Vector2.zero);
    sprite.SetNativeSize();
    }


    って感じ。
    まぁ複数のファイル持ってくるのが現実的な使い方だろうから、これ回す感じになるんですかね。
    あと、持ってきたファイルがちゃんとDL、保存されているのか確認しないと怖いので、1ファイル毎にチェックする方法(チェックサム等でのチェック)を入れないといけないなーと。

    いうことで、これをポケガに導入するか検討中です!
    あ、Androidでは動いているの確認したけど、iOS版はまだ未確認です!

    ではアデュ~ノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0