質問編集履歴

9

なし

2020/05/12 09:20

投稿

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

8

削除

2020/05/12 09:20

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -165,15 +165,3 @@
165
165
  STATICを外した場合のエラー
166
166
 
167
167
  ![イメージ説明](136771173060ad09336e15b0440e4695.png)
168
-
169
-
170
-
171
-
172
-
173
- ↓関係なし
174
-
175
- 解決案を出していくれているのですがこれでやりたいことを実装しつつ解決しますかね?
176
-
177
- ![イメージ説明](69d7076bdcd2c3cf96a7aae7dee67933.png)
178
-
179
- ![イメージ説明](2b79ae2e7afd0aec82f0fe1914e4c057.png)

7

新しいエラー

2020/05/12 08:50

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -38,9 +38,7 @@
38
38
 
39
39
  [SerializeField]
40
40
 
41
- private static Text explanation; スタティックに変更
41
+ private Text explanation; 
42
-
43
-
44
42
 
45
43
  private EditButton.Symbol EditSymbol;
46
44
 
@@ -88,13 +86,7 @@
88
86
 
89
87
  {
90
88
 
91
- Text ChangeTXT =MyItem.Explanation; ☆ここのExplanationで
89
+ Text ChangeTXT = MyItem.MyExplanation;
92
-
93
- エラー文'Item' に 'Explanation' の定義が含まれておらず、型 'Item' の最初の引数を受け付けるアクセス可能な拡張メソッド 'Explanation' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足していないことを確認してください。 がでてきます
94
-
95
-
96
-
97
-
98
90
 
99
91
  }
100
92
 
@@ -168,6 +160,18 @@
168
160
 
169
161
  ![イメージ説明](a7d6e2b6baaa30519b2aff99137cdb3f.png)
170
162
 
163
+
164
+
165
+ STATICを外した場合のエラー
166
+
167
+ ![イメージ説明](136771173060ad09336e15b0440e4695.png)
168
+
169
+
170
+
171
+
172
+
173
+ ↓関係なし
174
+
171
175
  解決案を出していくれているのですがこれでやりたいことを実装しつつ解決しますかね?
172
176
 
173
177
  ![イメージ説明](69d7076bdcd2c3cf96a7aae7dee67933.png)

6

追記

2020/05/12 08:47

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
 
6
6
 
7
- errorが一個出ています スクリプトへ記載
7
+ errorスクリプトへ記載 画像で解決案へ対する質問
8
8
 
9
9
 
10
10
 
@@ -88,7 +88,7 @@
88
88
 
89
89
  {
90
90
 
91
- Text ChangeTXT =MyItem.Explanation; ここのExplanationで
91
+ Text ChangeTXT =MyItem.Explanation; ここのExplanationで
92
92
 
93
93
  エラー文'Item' に 'Explanation' の定義が含まれておらず、型 'Item' の最初の引数を受け付けるアクセス可能な拡張メソッド 'Explanation' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足していないことを確認してください。 がでてきます
94
94
 
@@ -164,4 +164,12 @@
164
164
 
165
165
  }
166
166
 
167
+ ```
168
+
167
- ```![イメージ説明](a7d6e2b6baaa30519b2aff99137cdb3f.png)
169
+ ![イメージ説明](a7d6e2b6baaa30519b2aff99137cdb3f.png)
170
+
171
+ 解決案を出していくれているのですがこれでやりたいことを実装しつつ解決しますかね?
172
+
173
+ ![イメージ説明](69d7076bdcd2c3cf96a7aae7dee67933.png)
174
+
175
+ ![イメージ説明](2b79ae2e7afd0aec82f0fe1914e4c057.png)

5

エラーについて

2020/05/12 08:38

投稿

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

4

スクリプト変更

2020/05/12 08:22

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -60,47 +60,43 @@
60
60
 
61
61
  using System.Collections.Generic;
62
62
 
63
+ #if UNITY_EDITOR
64
+
63
65
  using UnityEngine;
64
66
 
65
67
  using UnityEngine.UI;
66
68
 
67
69
 
68
70
 
69
- public class Edit : MonoBehaviour
71
+ public class ExplanationTXT : MonoBehaviour
70
72
 
71
73
  {
72
74
 
73
-
74
-
75
- private Item item;
75
+ private Item item;
76
-
77
-   アイテムスクリプトの変数を呼び出し
78
-
79
- public Item MyItem { get => item; private set => item = value; }
80
76
 
81
77
 
82
78
 
83
- public void SetItem(Item item)
84
-
85
- {
86
-
87
- MyItem = item;
88
-
89
- Debug.Log("セット" + MyItem.MyItemName);
90
-
91
- }
92
-
93
- public virtual void SetExplanation(Text text)☆explanationをText(Script)へセットする関数
79
+ public Item MyItem { get => item; set => item = value; }
94
80
 
95
81
 
96
82
 
97
- {
83
+ public virtual void SetExplanation(Text text)
98
84
 
99
- Text ChangeTXT = MyItem.MyExplanation; ?ここが間違っているかも?
85
+ {
100
86
 
101
- }
87
+ Text ChangeTXT =MyItem.Explanation; ここのExplanationで
88
+
89
+ エラー文'Item' に 'Explanation' の定義が含まれておらず、型 'Item' の最初の引数を受け付けるアクセス可能な拡張メソッド 'Explanation' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足していないことを確認してください。 がでてきます
90
+
91
+
92
+
93
+
102
94
 
103
95
  }
96
+
97
+ }
98
+
99
+ #endif
104
100
 
105
101
 
106
102
 

3

スクリプト変更

2020/05/12 08:20

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -6,7 +6,9 @@
6
6
 
7
7
  アイテムのデータ(呼び出し用の変数)
8
8
 
9
+ ```
10
+
9
- ```using System.Collections;
11
+ using System.Collections;
10
12
 
11
13
  using System.Collections.Generic;
12
14
 
@@ -22,33 +24,29 @@
22
24
 
23
25
  {
24
26
 
25
- [SerializeField]
27
+ [SerializeField]
26
28
 
27
- private string itemName;
29
+ private string itemName;
28
30
 
29
- [SerializeField]
31
+ [SerializeField]
30
32
 
31
- private Sprite itemImage;
33
+ private Sprite itemImage;
32
34
 
33
- [SerializeField]
35
+ [SerializeField]
34
36
 
35
- private Text explanation;☆この部分を呼び出したい
37
+ private static Text explanation; スタティックに変更
36
38
 
37
39
 
38
40
 
39
- private EditButton.Symbol EditSymbol;
41
+ private EditButton.Symbol EditSymbol;
40
42
 
41
43
 
42
44
 
43
- public string MyItemName { get => itemName;}
45
+ public string MyItemName { get => itemName;}
44
46
 
45
- public Sprite MyItemImage { get => itemImage;}
47
+ public Sprite MyItemImage { get => itemImage;}
46
48
 
47
- public Text MyExplanation { get => explanation;}☆この部分を呼び出したい
49
+ public static Text MyExplanation { get => explanation; } ☆この部分を呼び出したい
48
-
49
-
50
-
51
- }
52
50
 
53
51
 
54
52
 

2

問題点の変更

2020/05/12 08:15

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- 別スクリプトで設定した文字変数をプログラムでText(Script)に入れたい
1
+ 別スクリプトで設定した文字変数をプログラムでText(Script)に入れたいが反映されない
test CHANGED
@@ -1,22 +1,18 @@
1
- やりたいことは別スクリプトで設定した任意の文字変数を
1
+ 実装したいこと
2
2
 
3
- 画像右の青い部分(Text(Script))に入れたいという感じです
3
+ 画像のピンクスロットの中にしたのアイテムアイコンをドロップした際に画像のText(Script)の中身へMyExplanationの中身を入れたい
4
-
5
- 正直初心者が見様見真似で書いたスクリプトなので内容があっているかわかりません
6
-
7
- ご回答よろしくお願いします
8
4
 
9
5
 
10
6
 
11
- 設定する側スクリプト(元のデータ)
7
+ アイテムのデータ(呼び出し用の変数
12
8
 
13
- ```
14
-
15
- using System.Collections;
9
+ ```using System.Collections;
16
10
 
17
11
  using System.Collections.Generic;
18
12
 
19
13
  using UnityEngine;
14
+
15
+ using UnityEngine.UI;
20
16
 
21
17
 
22
18
 
@@ -36,11 +32,11 @@
36
32
 
37
33
  [SerializeField]
38
34
 
39
- private string explanation;//  の部分の説明文
35
+ private Text explanation;☆この部分を呼び出したい
40
36
 
41
37
 
42
38
 
43
- private EditButton.Symbol EditSymbol;//シンボル継承
39
+ private EditButton.Symbol EditSymbol;
44
40
 
45
41
 
46
42
 
@@ -48,13 +44,17 @@
48
44
 
49
45
  public Sprite MyItemImage { get => itemImage;}
50
46
 
51
- public string MyExplanation { get => explanation;}
47
+ public Text MyExplanation { get => explanation;}☆この部分を呼び出したい
48
+
49
+
52
50
 
53
51
  }
54
52
 
53
+
54
+
55
55
  ```
56
56
 
57
- 設定するためのスクリプト
57
+ 実際にアイテムの変数を呼び出し文字変数をセットするスクリプト
58
58
 
59
59
  ```
60
60
 
@@ -68,44 +68,102 @@
68
68
 
69
69
 
70
70
 
71
- public class ExplanationTXT : MonoBehaviour
71
+ public class Edit : MonoBehaviour
72
72
 
73
73
  {
74
74
 
75
+
76
+
75
77
  private Item item;
78
+
79
+   アイテムスクリプトの変数を呼び出し
80
+
81
+ public Item MyItem { get => item; private set => item = value; }
82
+
83
+
84
+
85
+ public void SetItem(Item item)
86
+
87
+ {
88
+
89
+ MyItem = item;
90
+
91
+ Debug.Log("セット" + MyItem.MyItemName);
92
+
93
+ }
94
+
95
+ public virtual void SetExplanation(Text text)☆explanationをText(Script)へセットする関数
96
+
97
+
98
+
99
+ {
100
+
101
+ Text ChangeTXT = MyItem.MyExplanation; ?ここが間違っているかも?
102
+
103
+ }
104
+
105
+ }
106
+
107
+
108
+
109
+ ```
110
+
111
+ 関数を呼び出すタイミング
112
+
113
+ ```using System.Collections;
114
+
115
+ using System.Collections.Generic;
116
+
117
+ using UnityEngine;
118
+
119
+ using UnityEngine.EventSystems;
120
+
121
+ using UnityEngine.UI;
122
+
123
+
124
+
125
+ public class EditSlot : Slot
126
+
127
+ {
128
+
129
+ private Edit edit;
76
130
 
77
131
  private Text text;
78
132
 
133
+ public Edit MyEdit { get => edit; private set => edit = value; }
79
134
 
135
+ public Text Text { get => text; private set => text = value; }
80
136
 
81
- public Item myItem { get => myItem; private set => myItem = value; }
137
+
82
138
 
83
- public Text myText { get => text; private set => text = value; }
139
+ protected override void Start()
140
+
141
+ {
142
+
143
+ base.Start();//継承元のスタート関数
84
144
 
85
145
 
86
146
 
87
- private void Start()
147
+ MyEdit = FindObjectOfType<Edit>();
88
148
 
89
- {
149
+
90
-
91
- myItem = FindObjectOfType<Item>();
92
-
93
- myText = FindObjectOfType<Text>();
94
150
 
95
151
  }
96
152
 
97
153
 
98
154
 
99
- public void OnSetExplanation()
155
+ public override void OnDrop(PointerEventData eventData)
100
156
 
101
157
  {
102
158
 
159
+ base.OnDrop(eventData);
160
+
103
- this.text = Item.MyExplanation;//ここの部分に対して ☆の変数を画像の青い部分に対して格納したい処理
161
+ //ExplanationTXT.SetExplanation(Text);
162
+
163
+ edit.SetItem(MyItem);
164
+
165
+ edit.SetExplanation(text);
104
166
 
105
167
  }
106
168
 
107
- }
108
-
109
- ```
110
-
111
- ![イメージ説明](10f0a8afce2f5f4c4333d67f60b2705a.png)
169
+ ```![イメージ説明](a7d6e2b6baaa30519b2aff99137cdb3f.png)

1

改善

2020/05/12 07:35

投稿

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