広島、晴れのち晴れ

【Unity】JOYSTICK PACK – Dynamic Joystick(Floating Joystick) について

<p>スマホ向けアプリで利用されるVirtual Joystickで有名なフリーアセット<a href&equals;"https&colon;&sol;&sol;assetstore&period;unity&period;com&sol;packages&sol;tools&sol;input-management&sol;joystick-pack-107631" target&equals;"&lowbar;blank" rel&equals;"noopener noreferrer">「JOYSTICK PACK」<&sol;a>がとても使い易くて申し分ないのですが、どうしても気になった事があったので書きます。<&sol;p>&NewLine;<h2>気になった事<&sol;h2>&NewLine;<p>Dynamic Joystick もしくは Floating Joystickを選択した時、ゲーム開始時の一押し目でいきなり動いてしまう+条件によってはJoystickの画面が表示されない。(一度、指を離して再度画面を押すと思い通りに動く)<&sol;p>&NewLine;<p>上記症状は以下の条件で発生しました。<&sol;p>&NewLine;<ul>&NewLine;<li>Canvas のRender Modeが「Screen Space &&num;8211&semi; Camera」<&sol;li>&NewLine;<li>Dynamic Joystick&lpar;Floating Joystick&rpar;のAxis OptionsがBoth以外だと(一押し目で)Joystickの画面が表示されない<&sol;li>&NewLine;<&sol;ul>&NewLine;<p>&NewLine;原因は一番最初に画面をタッチした時にCameraの設定がされていないためでした。<br &sol;>&NewLine;以下のように修正しました。&NewLine;<&sol;p>&NewLine;<div class&equals;"hcb&lowbar;wrap">&NewLine;<pre class&equals;"prism undefined-numbers lang-csharp" data-lang&equals;"C&num;"><code> &NewLine;&sol;&sol; Assets &gg; Joystick Pack &gg; Scripts &gg; Base &gg; Joystick&period;cs &NewLine; &NewLine;protected virtual void Start&lpar;&rpar; &NewLine;&lbrace; &NewLine;HandleRange &equals; handleRange&semi; &NewLine;DeadZone &equals; deadZone&semi; &NewLine;baseRect &equals; GetComponent&lt&semi;RectTransform&gt&semi;&lpar;&rpar;&semi; &NewLine;canvas &equals; GetComponentInParent&lt&semi;Canvas&gt&semi;&lpar;&rpar;&semi; &NewLine;if &lpar;canvas &equals;&equals; null&rpar; &NewLine;Debug&period;LogError&lpar;"The Joystick is not placed inside a canvas"&rpar;&semi; &NewLine; &NewLine;Vector2 center &equals; new Vector2&lpar;0&period;5f&comma; 0&period;5f&rpar;&semi; &NewLine;background&period;pivot &equals; center&semi; &NewLine;handle&period;anchorMin &equals; center&semi; &NewLine;handle&period;anchorMax &equals; center&semi; &NewLine;handle&period;pivot &equals; center&semi; &NewLine;handle&period;anchoredPosition &equals; Vector2&period;zero&semi; &NewLine; &NewLine;&sol;&sol; 追加部分 &NewLine;cam &equals; null&semi; &NewLine;if &lpar;canvas&period;renderMode &equals;&equals; RenderMode&period;ScreenSpaceCamera&rpar; &NewLine;cam &equals; canvas&period;worldCamera&semi; &NewLine;&rcub;<recttransform><&sol;recttransform> &NewLine;<pre class&equals;"prism undefined-numbers lang-csharp" data-lang&equals;"C&num;"><code> <&sol;code><&sol;pre>&NewLine;<p><&sol;code><&sol;div>&NewLine;

モバイルバージョンを終了