ex2dのAnimation Helperコンポーネント Unity
http://www.ex-dev.com/ex2d/wiki/doku.php?id=manual:advance:animation_helper_usageUnity自体のアニメーションを使うときに必要。
- 例えばテキストを、blink(点滅)させたいとき
ex2dのデモの”_demo”フォルダの08にあるサンプルで使用している”text_blink”は消さないこと!
Component -> Miscellanceous -> Animationをアタッチ。
インスペクタで、アニメーションを”text_blink”にする。
※blinkは画像用
このようにチェックは外す。
使いたいときは、自分で作成する必要があります。
カメラでGUIを分ける Unity
http://www.cis.sojo-u.ac.jp/~izumi/Unity_Documentation_jp/Documentation/Components/class-Camera.html通常カメラ:深度0
武器のみカメラ:深度1、クリアフラグ(Clear Flags)を深度のみ(depth only)
Input.mousePosition はVector3 Unity
http://unity3d.com/support/documentation/ScriptReference/Input-mousePosition.htmlここには
「static var mousePosition : Vector3」とある。
Z軸になにがあるの?→0だった。
・Vector3→Vector2とVector2→Vector3の相互代入が可能
Vector2 hoge = new Vector3(10, 20, 30); Debug.Log(hoge.x); //=>10 Debug.Log(hoge.y); //=>20 Vector3 bar = new Vector2(10, 20); Debug.Log(bar.x); //=>10 Debug.Log(bar.y); //=>20 Debug.Log(bar.z); //=>0
Vector2→Vector3のときはもともとZがないので、0としてZに入る。
Vector3→Vector2のときはXとYそのまま、Zがなくなる。
連想配列 C#
UnityのC#でも連想配列使える。Pythonの辞書型みたいなの。
Hashtable ht = new Hashtable(); ht["foo"] = "ふう";
しかもこれもいいし
ht.Add("baa", "ばあ");
これを利用してOnGUIで使うデバッグを作った。
ぼくが考えたさいきょうのデバッガ
・宣言部
// DEBUG STRINGS private Hashtable debugHash = new Hashtable();
・デバッグに出したい値のとり方
・OnGUIでの処理
void OnGUI() { int heightDel = 10; int height = Screen.height-160; foreach (string key in debugHash.Keys) { GUI.Label(new Rect(Screen.width/2, height, Screen.width-10, 50), (string)debugHash[key]); height += heightDel; } }
→object形なのでstringにするよ。
ex2dでのSpriteObjectで作った画像のScale Unity
TransformのScaleは直接いじるなとかいてるhttp://www.ex-dev.com/ex2d/wiki/doku.php?id=manual:advance:less_drawcall&s[]=scale#scale_the_sprite
Ex spriteコンポーネントのScaleをいじれと。
→Vector2で入れられる
GameObject hogeObg; hogeObg.GetComponent<exSprite>().scale = new Vector2(0.2F,0.2F);
ex2dでのSpriteObjectで作った画像の座標 Unity
ex2dでScreen座標に対して位置を変えたいことがある。↑Screenにセット
↑Ex Screen PositionにてScreen XとScreen Yで座標が設定できる。
Anchorは左下を選んだほうがいい
※キャプチャ画像と違うので注意
・座標に代入したい。
参考:http://www.ex-dev.com/ex2d/script_ref/classex_screen_position.html
ScreenXという変数でもScreen.Xでもなかった。
マウス位置に移動させる。※Anchorは左下で。
GameObject hogeObj; hogeObj.GetComponent<exScreenPosition>().x = Input.mousePosition.x; hogeObj.GetComponent<exScreenPosition>().y = Input.mousePosition.y;
http://www.ex-dev.com/ex2d/script_ref/classex_viewport_position.html
ビューポートポジションなら
float X = 0.12F; float Y = 0.12F; arrow.GetComponent<exViewportPosition>().x = X; arrow.GetComponent<exViewportPosition>().y = Y;