質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

1回答

2007閲覧

クリックしたボタンの位置取得

ae3

総合スコア13

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2019/08/03 01:11

編集2019/08/03 05:06

UIのボタンを配置し、ボタンの上にオブジェクトを移動させたいと思っています。
クリックしたボタンのオブジェクトは「EventSystem.current.currentSelectedGameObject」で取得できると考えてますが、
別のボタンのオブジェクトを取得してしまいます。
これはそもそもメソッドの認識が間違っていますでしょうか?
現在クリックしているボタンのオブジェクトを取得する方法があれば教えていただきたいです。

どちらもボタンオブジェクトにしています。
真ん中のボタンを押してその位置を取得しようとすると左上のボタンを取得してしまいます。

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sakura_hana

2019/08/03 02:30

そのメソッドでいいと思いますが、クリック直後に取得していなかったり、UIが複数重なっていたりすると変わるかもしれません。 「別のボタンのオブジェクトを取得している」というのはどうやって確認していますか?
sakura_hana

2019/08/03 02:51

前述の「そのメソッドでいいと思います」は「使い方の認識としては合っています」の意味です。 tor4kichiさんの回答であれば「そもそもEventSystem.current.currentSelectedGameObjectを使う必要が無い」ので、こちらで済むならこちらでいいと思います。
ae3

2019/08/03 05:08

画像を追加しました。 どちらもボタンオブジェクトにしています。 真ん中のボタンを押してその位置を取得しようとすると左上のボタンを取得してしまいます。 DebagLogで位置を表示したときに左上のボタンの位置が表示されている状態です。
guest

回答1

0

【uGUI】Buttonの使い方 クリックしたときの処理を実装する

上記リンクで説明されていますが、スクリプトを作成してOnClickメソッドの処理をButtonに紐づけることでButtonごとのクリックが拾えます。

OnClickメソッドからはアタッチした先のButtonを参照できるので、this.transform.positionからボタンの表示位置が取れます。

投稿2019/08/03 02:26

tor4kichi

総合スコア763

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ae3

2019/08/03 05:09

ありがとうございます 確認してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問