GameObject AAA = Instantiate(aaaPrefab) as GameObject; AAA.transform.position = new Vector2(Random.Range(0.0f, 140.0f),Random.Range(0.0f, 140.0f));
上記のコードにより自動生成した敵オブジェクトをクリックして倒すゲームを作っています。
倒す時のトリガーは下記の通りとなります。
public void onClickAct() {
ゲーム自体は完成したのですが
たまにクリックの反応が悪くなります(クリックしても敵が倒せない場合が出ます。
調べてみるとヒエラルキーの順番で悪さをする場合があるということが分かりました。
生成した際のオブジェクトはヒエラルキーが下側であったこともあり
transform.SetAsFirstSibling();
を加えてヒエラルキーを動的に弄ってみたりもしましたが変わりませんでした。
Collider 2Dの形状を変えてみても反応は同様でした。
**【order in layer】**の値を上げても同様でした。
生成した敵オブジェクトの上に重なるものを削除しても反応は同様でした。
クリック反応が悪い時の対応例で検索に引っかかったものを試してはみましたが上手くいきませんでした。
(UIボタンの反応が悪い場合の記事が多く内容もnGUI関連ばかりだったので今回の問題とは関係がないのかもしれません
自動生成された敵をクリックして倒すゲームを作った方は多いかと存じます。
もし同じ様な体験をされ 改善できた方がおりましたら クリック感度を良くする手法をご教授頂けないでしょうか。
自分で付けたメソッドは感度が悪い?
改めてクリック判定を調べて**【OnMouseDown】**に変更してみたところ
今度はちょっと敏感すぎるのではなかろうかというぐらいの良い反応になりました。
Unityの勉強ページではオリジナルのメソッドを作って そこにイベントトリガーを引いていたので
それに習っていたのですが マウスイベントに変更してみたら反応が違い過ぎました。
クリック判定、タップ判定をイベントトリガーで扱う際は用意されている unityのマウスイベント一覧を扱うべきということでしょうか?
あなたの回答
tips
プレビュー