2015年3月23日月曜日

Asset MobileSingleStickControlのバーチャルスティックが消える

一度触れたら、画面の左下だったり原点に移動してしまう。

最新?のではこんなバーチャルスティック

解決策は、

まず、ヒエラルキーに置いたMobileSingleStickControlに
Layout > Canvas Scaler をアタッチする。
設定は Ui Scale Mode を Scale With Screen Size
他は各々の環境に合わせた値に。

次に、MobileSingleStickControl の子 MobileJoystick に
アタッチされているスクリプト JoyStick を編集する。
編集内容は置換するだけ。
置換前: transform.position
置換後: transform.GetComponent<RectTransform>().anchoredPosition3D
4か所が置換されるはず。


(参考)
http://forum.unity3d.com/threads/unity-5-new-mobile-assets-joystick-problem.307627/
http://answers.unity3d.com/questions/917671/unity5-joystick-prefab-snapping-to-bottom-left-cor.html#answer-919202


JoyStick 内の OnEnable を Start に書き換えただけで直った!
という人もいるみたい。自分は駄目でした。

GetComponentがやらしいので
変数にキャッシュするのがいいでしょう、多分。
transformも実際はGetComponentが動いているらしいのでなおさら。


これと関係してか、しなくてか、
触れた途端Range内の右上に一旦移動してしまう。
これから模索。


続き
Asset MobileSingleStickControlのバーチャルスティックのズレ

2 件のコメント: