質問編集履歴
9
なし
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
別スクリプトで設定した文字変数をプログラムでText(Script)に入れたいが反映されない
|
body
CHANGED
File without changes
|
8
削除
title
CHANGED
File without changes
|
body
CHANGED
@@ -81,10 +81,4 @@
|
|
81
81
|

|
82
82
|
|
83
83
|
STATICを外した場合のエラー
|
84
|
-

|
84
|
+

|
85
|
-
|
86
|
-
|
87
|
-
↓関係なし
|
88
|
-
解決案を出していくれているのですがこれでやりたいことを実装しつつ解決しますかね?
|
89
|
-

|
90
|
-

|
7
新しいエラー
title
CHANGED
File without changes
|
body
CHANGED
@@ -18,8 +18,7 @@
|
|
18
18
|
[SerializeField]
|
19
19
|
private Sprite itemImage;
|
20
20
|
[SerializeField]
|
21
|
-
private
|
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.
|
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
|

|
82
|
+
|
83
|
+
STATICを外した場合のエラー
|
84
|
+

|
85
|
+
|
86
|
+
|
87
|
+
↓関係なし
|
86
88
|
解決案を出していくれているのですがこれでやりたいことを実装しつつ解決しますかね?
|
87
89
|

|
88
90
|

|
6
追記
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
|
-
|
85
|
+

|
86
|
+
解決案を出していくれているのですがこれでやりたいことを実装しつつ解決しますかね?
|
87
|
+

|
88
|
+

|
5
エラーについて
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
スクリプト変更
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
|
36
|
+
public class ExplanationTXT : MonoBehaviour
|
36
37
|
{
|
38
|
+
private Item item;
|
37
39
|
|
38
|
-
private Item item;
|
39
|
-
アイテムスクリプトの変数を呼び出し
|
40
|
-
|
40
|
+
public Item MyItem { get => item; set => item = value; }
|
41
41
|
|
42
|
-
|
42
|
+
public virtual void SetExplanation(Text text)
|
43
|
-
|
43
|
+
{
|
44
|
-
MyItem = item;
|
45
|
-
Debug.Log("セット" + MyItem.MyItemName);
|
46
|
-
}
|
47
|
-
|
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
スクリプト変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -2,7 +2,8 @@
|
|
2
2
|
画像のピンクスロットの中にしたのアイテムアイコンをドロップした際に画像右側のText(Script)の中身へMyExplanationの中身を入れたい
|
3
3
|
|
4
4
|
アイテムのデータ(呼び出し用の変数)
|
5
|
+
```
|
5
|
-
|
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
|
-
|
14
|
+
[SerializeField]
|
14
|
-
|
15
|
+
private string itemName;
|
15
|
-
|
16
|
+
[SerializeField]
|
16
|
-
|
17
|
+
private Sprite itemImage;
|
17
|
-
|
18
|
+
[SerializeField]
|
18
|
-
|
19
|
+
private static Text explanation; スタティックに変更
|
19
20
|
|
20
|
-
|
21
|
+
private EditButton.Symbol EditSymbol;
|
21
22
|
|
22
|
-
|
23
|
+
public string MyItemName { get => itemName;}
|
23
|
-
|
24
|
+
public Sprite MyItemImage { get => itemImage;}
|
24
|
-
|
25
|
+
public static Text MyExplanation { get => explanation; } ☆この部分を呼び出したい
|
25
26
|
|
26
|
-
}
|
27
|
-
|
28
27
|
```
|
29
28
|
実際にアイテムの変数を呼び出し文字変数をセットするスクリプト
|
30
29
|
```
|
2
問題点の変更
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
|
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
|
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
|
36
|
+
public class Edit : MonoBehaviour
|
37
37
|
{
|
38
|
+
|
38
39
|
private Item item;
|
39
|
-
|
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
|
-
|
43
|
+
public void SetItem(Item item)
|
45
44
|
{
|
45
|
+
MyItem = item;
|
46
|
-
|
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
|
-
|
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
|
-

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