FC2ブログ
    08 «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.» 10

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

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

     

    【Unity】先週月曜Twitterに絵がつかないって件は、案の定俺のせい!えでぃたーかくちょーさわってみたよ? 

    10月が終わり11月になってしまいましたね。
    今年もあと2カ月です。

    クリスマスも近づいてきました。
    また一人でクリスマスかぁ 彼女ほしいなぁ。

    はい!バンナイです。

    一気に寒くなってきましたねー 風邪にお気を付け下さいまし。

    あ、先週Twitterに絵がつかねーー!って言ってたのですが、原因判明しました。

    AndroidManifestのせいでした。

    具体的に何かというと、AndroidでTwitterに絵を張り付ける場合、2クッションの処理が必要になります。

    <先週の記事抜粋>
    path = "jar:file://" + Application.dataPath + "!/assets/icon.png";
    WWW www = new WWW(path);
    yield return www;
    path = Application.persistentDataPath + "/icon.png";
    File.WriteAllBytes(path, www.bytes);


    ①WWWでアプリから絵のデータを取り出し、Application.persistentDataPathの場所に書きだす。
    ②Application.persistentDataPathの場所から絵を取り出してTwitterに付ける。
    の2つです。

    この①の"Application.persistentDataPathの場所に書きだす"で失敗していました。
    (エラーだしてくれよなぁ・・・出てたのかなぁ DDMS見てたと思ったんだけど・・・)

    原因はAndroidManifestに、<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />を書いていたものの、書いている場所がおかしかったためでした・・・・・まぁよくあるミス?

    ってことで、AndroidManifestに気を付けよう!!!

    話しは変わるんですが、Unityのエディター拡張って便利って聞きますよね!

    全然使ったことはないんですが、どんなことできるのかなー程度でも見て見ようかと思い、ちょっと触ってみました。
    エディター拡張初心者オブ初心者が送る、エディター拡張こんなことできるよ!第一弾はこちら。

    using UnityEngine;
    using System.Collections;

    public class Step1 : MonoBehaviour {
    public int testNo;
    public string testName;
    public enum USE_COLOR {
    RED,
    BLUE,
    GREEN,
    WHITE,
    };
    public USE_COLOR useColor;

    public Text txtNo;
    public Text txtName;

    void Start() {
    txtNo.text = testNo.ToString();
    txtName.text = testName;
    }
    }

    こんな感じでコードを書くと、こうなります。


    まぁ、変数名とか見ればわかるようにするのは普通なんですが、もっとわかりやすくするために、エディター拡張で味付け!



    日本語でわかりやすくInspectorを出すことに成功!!!

    EditorフォルダにStep1Editor.csを作って以下を書くだけ!!

    using UnityEngine;
    using UnityEditor;

    [CustomEditor(typeof(Step1))]
    public class Step1Editor : Editor{
    public override void OnInspectorGUI() {
    var obj = target as Step1;
    obj.testNo = EditorGUILayout.IntField("なにかのNO", obj.testNo);
    obj.testName = EditorGUILayout.TextField("なにかの名前", obj.testName);
    obj.useColor = (Step1.USE_COLOR)EditorGUILayout.EnumPopup("使用する色",obj.useColor);
    obj.txtNo = (UnityEngine.UI.Text)EditorGUILayout.ObjectField("UI-ナンバー", obj.txtNo, typeof(UnityEngine.UI.Text), true);
    obj.txtName = (UnityEngine.UI.Text)EditorGUILayout.ObjectField("UI-名前", obj.txtName, typeof(UnityEngine.UI.Text), true);
    }
    }




    ・・・




    う、うん。

    これさ、たとえばtestNameの行書かないと、Inspectorにさえ出てこなくなるんだよね・・・・・
    100個変数あったら100行コードを別に書かないといけないってこと?

    めんどくせーーーーーーーー よくわからん!

    なんか、まだエディター拡張触ってみた感じ、便利なのか全然分かりません!

    今後もちょこちょこエディター拡張に手出してみようかな・・・・

    ってことで、今日はこれでおしまい!

    アデュ~ノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    コメント

    コメントの投稿

    Secret

    トラックバック

    トラックバックURL
    →http://halcyonsystemblog.jp/tb.php/253-bc80fcec
    この記事にトラックバックする(FC2ブログユーザー)