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

質問編集履歴

9

なし

2020/05/12 09:20

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- えた別スクリプトで設定した文字変数をプログラムでText(Script)に入れたいが反映されない
1
+ 別スクリプトで設定した文字変数をプログラムでText(Script)に入れたいが反映されない
body CHANGED
File without changes

8

削除

2020/05/12 09:20

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -81,10 +81,4 @@
81
81
  ![イメージ説明](a7d6e2b6baaa30519b2aff99137cdb3f.png)
82
82
 
83
83
  STATICを外した場合のエラー
84
- ![イメージ説明](136771173060ad09336e15b0440e4695.png)
84
+ ![イメージ説明](136771173060ad09336e15b0440e4695.png)
85
-
86
-
87
- ↓関係なし
88
- 解決案を出していくれているのですがこれでやりたいことを実装しつつ解決しますかね?
89
- ![イメージ説明](69d7076bdcd2c3cf96a7aae7dee67933.png)
90
- ![イメージ説明](2b79ae2e7afd0aec82f0fe1914e4c057.png)

7

新しいエラー

2020/05/12 08:50

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -18,8 +18,7 @@
18
18
  [SerializeField]
19
19
  private Sprite itemImage;
20
20
  [SerializeField]
21
- private static Text explanation; スタティックに変更
21
+ private Text explanation; 
22
-
23
22
  private EditButton.Symbol EditSymbol;
24
23
 
25
24
  public string MyItemName { get => itemName;}
@@ -43,10 +42,7 @@
43
42
 
44
43
  public virtual void SetExplanation(Text text)
45
44
  {
46
- Text ChangeTXT =MyItem.Explanation; ☆ここのExplanationで
45
+ Text ChangeTXT = MyItem.MyExplanation;
47
- エラー文'Item' に 'Explanation' の定義が含まれておらず、型 'Item' の最初の引数を受け付けるアクセス可能な拡張メソッド 'Explanation' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足していないことを確認してください。 がでてきます
48
-
49
-
50
46
  }
51
47
  }
52
48
  #endif
@@ -83,6 +79,12 @@
83
79
  }
84
80
  ```
85
81
  ![イメージ説明](a7d6e2b6baaa30519b2aff99137cdb3f.png)
82
+
83
+ STATICを外した場合のエラー
84
+ ![イメージ説明](136771173060ad09336e15b0440e4695.png)
85
+
86
+
87
+ ↓関係なし
86
88
  解決案を出していくれているのですがこれでやりたいことを実装しつつ解決しますかね?
87
89
  ![イメージ説明](69d7076bdcd2c3cf96a7aae7dee67933.png)
88
90
  ![イメージ説明](2b79ae2e7afd0aec82f0fe1914e4c057.png)

6

追記

2020/05/12 08:47

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,7 @@
1
1
  実装したいこと
2
2
  画像のピンクスロットの中にしたのアイテムアイコンをドロップした際に画像右側のText(Script)の中身へMyExplanationの中身を入れたい
3
3
 
4
- errorが一個出ています スクリプトへ記載
4
+ errorスクリプトへ記載 画像で解決案へ対する質問
5
5
 
6
6
  アイテムのデータ(呼び出し用の変数)
7
7
  ```
@@ -43,7 +43,7 @@
43
43
 
44
44
  public virtual void SetExplanation(Text text)
45
45
  {
46
- Text ChangeTXT =MyItem.Explanation; ここのExplanationで
46
+ Text ChangeTXT =MyItem.Explanation; ここのExplanationで
47
47
  エラー文'Item' に 'Explanation' の定義が含まれておらず、型 'Item' の最初の引数を受け付けるアクセス可能な拡張メソッド 'Explanation' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足していないことを確認してください。 がでてきます
48
48
 
49
49
 
@@ -81,4 +81,8 @@
81
81
  edit.SetItem(MyItem);
82
82
  edit.SetExplanation(text);
83
83
  }
84
+ ```
84
- ```![イメージ説明](a7d6e2b6baaa30519b2aff99137cdb3f.png)
85
+ ![イメージ説明](a7d6e2b6baaa30519b2aff99137cdb3f.png)
86
+ 解決案を出していくれているのですがこれでやりたいことを実装しつつ解決しますかね?
87
+ ![イメージ説明](69d7076bdcd2c3cf96a7aae7dee67933.png)
88
+ ![イメージ説明](2b79ae2e7afd0aec82f0fe1914e4c057.png)

5

エラーについて

2020/05/12 08:38

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- 別スクリプトで設定した文字変数をプログラムでText(Script)に入れたいが反映されない
1
+ えた別スクリプトで設定した文字変数をプログラムでText(Script)に入れたいが反映されない
body CHANGED
@@ -1,6 +1,8 @@
1
1
  実装したいこと
2
2
  画像のピンクスロットの中にしたのアイテムアイコンをドロップした際に画像右側のText(Script)の中身へMyExplanationの中身を入れたい
3
3
 
4
+ errorが一個出ています スクリプトへ記載
5
+
4
6
  アイテムのデータ(呼び出し用の変数)
5
7
  ```
6
8
  using System.Collections;

4

スクリプト変更

2020/05/12 08:22

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -29,27 +29,25 @@
29
29
  ```
30
30
  using System.Collections;
31
31
  using System.Collections.Generic;
32
+ #if UNITY_EDITOR
32
33
  using UnityEngine;
33
34
  using UnityEngine.UI;
34
35
 
35
- public class Edit : MonoBehaviour
36
+ public class ExplanationTXT : MonoBehaviour
36
37
  {
38
+ private Item item;
37
39
 
38
- private Item item;
39
-   アイテムスクリプトの変数を呼び出し
40
- public Item MyItem { get => item; private set => item = value; }
40
+ public Item MyItem { get => item; set => item = value; }
41
41
 
42
- public void SetItem(Item item)
42
+ public virtual void SetExplanation(Text text)
43
- {
43
+ {
44
- MyItem = item;
45
- Debug.Log("セット" + MyItem.MyItemName);
46
- }
47
- public virtual void SetExplanation(Text text)☆explanationをText(Script)へセットする関数
44
+ Text ChangeTXT =MyItem.Explanation; ここのExplanationで
45
+ エラー文'Item' に 'Explanation' の定義が含まれておらず、型 'Item' の最初の引数を受け付けるアクセス可能な拡張メソッド 'Explanation' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足していないことを確認してください。 がでてきます
48
46
 
49
- {
47
+
50
- Text ChangeTXT = MyItem.MyExplanation; ?ここが間違っているかも?
51
- }
52
48
  }
49
+ }
50
+ #endif
53
51
 
54
52
  ```
55
53
  関数を呼び出すタイミング

3

スクリプト変更

2020/05/12 08:20

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -2,7 +2,8 @@
2
2
  画像のピンクスロットの中にしたのアイテムアイコンをドロップした際に画像右側のText(Script)の中身へMyExplanationの中身を入れたい
3
3
 
4
4
  アイテムのデータ(呼び出し用の変数)
5
+ ```
5
- ```using System.Collections;
6
+ using System.Collections;
6
7
  using System.Collections.Generic;
7
8
  using UnityEngine;
8
9
  using UnityEngine.UI;
@@ -10,21 +11,19 @@
10
11
  [CreateAssetMenu(fileName = "Items", menuName = "Items/items")]
11
12
  public class Item : ScriptableObject
12
13
  {
13
- [SerializeField]
14
+ [SerializeField]
14
- private string itemName;
15
+ private string itemName;
15
- [SerializeField]
16
+ [SerializeField]
16
- private Sprite itemImage;
17
+ private Sprite itemImage;
17
- [SerializeField]
18
+ [SerializeField]
18
- private Text explanation;☆この部分を呼び出したい
19
+ private static Text explanation; スタティックに変更
19
20
 
20
- private EditButton.Symbol EditSymbol;
21
+ private EditButton.Symbol EditSymbol;
21
22
 
22
- public string MyItemName { get => itemName;}
23
+ public string MyItemName { get => itemName;}
23
- public Sprite MyItemImage { get => itemImage;}
24
+ public Sprite MyItemImage { get => itemImage;}
24
- public Text MyExplanation { get => explanation;}☆この部分を呼び出したい
25
+ public static Text MyExplanation { get => explanation; } ☆この部分を呼び出したい
25
26
 
26
- }
27
-
28
27
  ```
29
28
  実際にアイテムの変数を呼び出し文字変数をセットするスクリプト
30
29
  ```

2

問題点の変更

2020/05/12 08:15

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- 別スクリプトで設定した文字変数をプログラムでText(Script)に入れたい
1
+ 別スクリプトで設定した文字変数をプログラムでText(Script)に入れたいが反映されない
body CHANGED
@@ -1,13 +1,11 @@
1
- やりたいことは別スクリプトで設定した任意の文字変数を
2
- 画像右の青い部分(Text(Script))に入れたいという感じです
3
- 正直初心者が見様見真似で書いたスクリプトなので内容があっているかわかりません
4
- ご回答よろくお願します
1
+ 実装こと
2
+ 画像のピンクスロットの中にしたのアイテムアイコンをドロップした際に画像右側のText(Script)の中身へMyExplanationの中身を入れたい
5
3
 
6
- 設定する側スクリプト(元のデータ)
4
+ アイテムのデータ(呼び出し用の変数
7
- ```
8
- using System.Collections;
5
+ ```using System.Collections;
9
6
  using System.Collections.Generic;
10
7
  using UnityEngine;
8
+ using UnityEngine.UI;
11
9
 
12
10
  [CreateAssetMenu(fileName = "Items", menuName = "Items/items")]
13
11
  public class Item : ScriptableObject
@@ -17,40 +15,71 @@
17
15
  [SerializeField]
18
16
  private Sprite itemImage;
19
17
  [SerializeField]
20
- private string explanation;//  の部分の説明文
18
+ private Text explanation;☆この部分を呼び出したい
21
19
 
22
- private EditButton.Symbol EditSymbol;//シンボル継承
20
+ private EditButton.Symbol EditSymbol;
23
21
 
24
22
  public string MyItemName { get => itemName;}
25
23
  public Sprite MyItemImage { get => itemImage;}
26
- public string MyExplanation { get => explanation;}
24
+ public Text MyExplanation { get => explanation;}☆この部分を呼び出したい
25
+
27
26
  }
27
+
28
28
  ```
29
- 設定するためのスクリプト
29
+ 実際にアイテムの変数を呼び出し文字変数をセットするスクリプト
30
30
  ```
31
31
  using System.Collections;
32
32
  using System.Collections.Generic;
33
33
  using UnityEngine;
34
34
  using UnityEngine.UI;
35
35
 
36
- public class ExplanationTXT : MonoBehaviour
36
+ public class Edit : MonoBehaviour
37
37
  {
38
+
38
39
  private Item item;
39
- private Text text;
40
+   アイテムスクリプトの変数を呼び出し
41
+ public Item MyItem { get => item; private set => item = value; }
40
42
 
41
- public Item myItem { get => myItem; private set => myItem = value; }
42
- public Text myText { get => text; private set => text = value; }
43
-
44
- private void Start()
43
+ public void SetItem(Item item)
45
44
  {
45
+ MyItem = item;
46
- myItem = FindObjectOfType<Item>();
46
+ Debug.Log("セット" + MyItem.MyItemName);
47
- myText = FindObjectOfType<Text>();
48
47
  }
48
+ public virtual void SetExplanation(Text text)☆explanationをText(Script)へセットする関数
49
49
 
50
- public void OnSetExplanation()
51
50
  {
52
- this.text = Item.MyExplanation;//ここの部分に対し ☆の変数を画像の青部分に対して格納したい処理
51
+ Text ChangeTXT = MyItem.MyExplanation; ?ここが間違っているかも?
53
52
  }
54
53
  }
54
+
55
55
  ```
56
+ 関数を呼び出すタイミング
57
+ ```using System.Collections;
58
+ using System.Collections.Generic;
59
+ using UnityEngine;
60
+ using UnityEngine.EventSystems;
61
+ using UnityEngine.UI;
62
+
63
+ public class EditSlot : Slot
64
+ {
65
+ private Edit edit;
66
+ private Text text;
67
+ public Edit MyEdit { get => edit; private set => edit = value; }
68
+ public Text Text { get => text; private set => text = value; }
69
+
70
+ protected override void Start()
71
+ {
72
+ base.Start();//継承元のスタート関数
73
+
74
+ MyEdit = FindObjectOfType<Edit>();
75
+
76
+ }
77
+
78
+ public override void OnDrop(PointerEventData eventData)
79
+ {
80
+ base.OnDrop(eventData);
81
+ //ExplanationTXT.SetExplanation(Text);
82
+ edit.SetItem(MyItem);
83
+ edit.SetExplanation(text);
84
+ }
56
- ![イメージ説明](10f0a8afce2f5f4c4333d67f60b2705a.png)
85
+ ```![イメージ説明](a7d6e2b6baaa30519b2aff99137cdb3f.png)

1

改善

2020/05/12 07:35

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- Text(Script)別スクリプトで設定した任意の文字をプログラムで入れたい
1
+ 別スクリプトで設定した文字変数をプログラムでText(Script)に入れたい
body CHANGED
@@ -1,4 +1,5 @@
1
- やりたいことはスクリプトに書いてます
1
+ やりたいことはスクリプトで設定した任意の文字変数を
2
+ 画像右の青い部分(Text(Script))に入れたいという感じです
2
3
  正直初心者が見様見真似で書いたスクリプトなので内容があっているかわかりません
3
4
  ご回答よろしくお願いします
4
5