09 «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.» 11

ハルシオンシステムの気まま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.blog.fc2.com/tb.php/253-bc80fcec
この記事にトラックバックする(FC2ブログユーザー)