teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

分かりやすく修正

2020/07/07 08:58

投稿

IShix
IShix

スコア1729

answer CHANGED
@@ -1,8 +1,15 @@
1
- Unity Eventのインターフェイスを実装しテキストのRaycast Targetオンにことでクリックできるようになります。
1
+ Unity Eventのインターフェイスを実装し条件満たすことでクリックできるようになります。
2
- コード書いてみたので下記のように適当なテキストにアタッチして試してみてください。
2
+ コード書いてみたので適当なテキストにアタッチして試してみてください。
3
3
  ![イメージ説明](4f97b49798d7fbd37fc49ca0a8713a8a.png)
4
4
 
5
+ ### Unity Eventが動作する条件
6
+ 1. テキストのRaycast Targetがオンになっている
7
+ ![イメージ説明](21856472a1de20157cb5cb0f07be2222.png)
8
+ 2. EventSystemがヒエラルキー上にある
9
+ ![イメージ説明](07128e870633703860b36c780184ed05.png)
10
+
11
+ ### サンプルコード
5
- **TextFlipTestObject.cs**
12
+ **TextFlipTestObject.csという名前で保存**
6
13
  ```#C
7
14
  using UnityEngine;
8
15
  using UnityEngine.EventSystems;

2

画像変更

2020/07/07 08:58

投稿

IShix
IShix

スコア1729

answer CHANGED
@@ -36,11 +36,11 @@
36
36
  [参照元](https://docs.unity3d.com/2019.1/Documentation/ScriptReference/EventSystems.IPointerClickHandler.html)
37
37
 
38
38
  ### (おまけ)Visual Studioでインターフェイスを実装する際の便利機能
39
- この機能はUnity Eventだけではなくすべてのインターフェイスで使える便利機能です。
40
-
41
39
  1 インターフェイス名を追加
42
40
  ![イメージ説明](1c864fb4e7185abb6653fbda3f35e8f5.png)
43
41
  2 インターフェイス名の上で右クリック > クイック修正 > インターフェイスを実装します。をクリック
44
42
  ![イメージ説明](444654ac328dc9bc1c5affefd9d6eb3b.png)
45
- 3 自動的に実装してくれます。あとは中身を書き換えて完了です。
43
+ 3 自動的に実装してくれます。あとは中身を好きに書き換えるだけです。
46
- ![イメージ説明](0d2e60a0cb13a611f7218496d76a29ee.png)
44
+ ![イメージ説明](3baf5e39c143c66931440b90998ea7f7.png)
45
+
46
+ この機能はUnity Eventだけではなくすべてのインターフェイスで使える便利機能です。

1

追加

2020/07/07 08:41

投稿

IShix
IShix

スコア1729

answer CHANGED
@@ -15,7 +15,7 @@
15
15
  // 文字をクリックした時 IPointerClickHandlerを実装
16
16
  public void OnPointerClick(PointerEventData eventData)
17
17
  {
18
- // フリップしていない場合 scale使って180°回転させる フリップしている場合 Yを0°に戻す
18
+ // フリップしていない場合 scale使って180°回転させる フリップしている場合0°に戻す
19
19
  transform.localScale = new Vector3(IsFliped ? 1 : -1, 1, 1);
20
20
  // isFlipedの逆を代入 例) isFlipedがtrueの場合falseを代入
21
21
  IsFliped = !IsFliped;
@@ -28,4 +28,19 @@
28
28
  ![イメージ説明](21856472a1de20157cb5cb0f07be2222.png)
29
29
 
30
30
  イメージにもあります。
31
- ![イメージ説明](68ecbd456c8938a61200a6bbd9a244d4.png)
31
+ ![イメージ説明](68ecbd456c8938a61200a6bbd9a244d4.png)
32
+
33
+ ### Unity Eventのインターフェイスの種類
34
+ 今回は`IPointerClickHandler`を実装しました。`IPointerClickHandler`を実装するとクリックした時`OnPointerClick`を呼んでくれます。それ以外にも`IPointerDownHandler`はクリック終了時など色々なインターフェイスがあります。
35
+
36
+ [参照元](https://docs.unity3d.com/2019.1/Documentation/ScriptReference/EventSystems.IPointerClickHandler.html)
37
+
38
+ ### (おまけ)Visual Studioでインターフェイスを実装する際の便利機能
39
+ この機能はUnity Eventだけではなくすべてのインターフェイスで使える便利機能です。
40
+
41
+ 1 インターフェイス名を追加
42
+ ![イメージ説明](1c864fb4e7185abb6653fbda3f35e8f5.png)
43
+ 2 インターフェイス名の上で右クリック > クイック修正 > インターフェイスを実装します。をクリック
44
+ ![イメージ説明](444654ac328dc9bc1c5affefd9d6eb3b.png)
45
+ 3 自動的に実装してくれます。あとは中身を書き換えて完了です。
46
+ ![イメージ説明](0d2e60a0cb13a611f7218496d76a29ee.png)