質問編集履歴
8
修正、追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -59,9 +59,10 @@
|
|
59
59
|
|
60
60
|
↑上のほう(枠の画像、名前がslot)には「slot」というスクリプトが付いています
|
61
61
|
「slot」というスクリプトの中身は
|
62
|
-
private Item item;
|
63
|
-
Image image;
|
64
62
|
|
63
|
+
private Item item;
|
64
|
+
[SerializeField]Image image;
|
65
|
+
|
65
66
|
private void Awake()
|
66
67
|
{
|
67
68
|
image = GetComponent<Image>(); //imageにImageコンポーネントを入れる
|
7
画像の追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -88,4 +88,6 @@
|
|
88
88
|
中のアイテム(名前がItemImage)の部分へと貼り替えてみましたが
|
89
89
|
それだとエラー
|
90
90
|
NullReferenceException: Object reference not set to an instance of an object
|
91
|
-
で止まってしまう。
|
91
|
+
で止まってしまう。
|
92
|
+
|
93
|
+
↑slot(枠部分)のimageを子オブジェクト(ItemImage)にすれば良さそう、、と思ったのでそれもやってみたのですが、それをしても何も変化が無くて枠の部分を書き換えてしまう症状は何も変わらなかったです。
|
6
なおし
title
CHANGED
File without changes
|
body
CHANGED
@@ -57,8 +57,8 @@
|
|
57
57
|
### 補足
|
58
58
|
↑スロットのprefabは2重構造になっていて・・・
|
59
59
|
|
60
|
-
↑上のほう(枠の画像、名前がslot)にはslotというスクリプトが付いています
|
60
|
+
↑上のほう(枠の画像、名前がslot)には「slot」というスクリプトが付いています
|
61
|
-
中身は
|
61
|
+
「slot」というスクリプトの中身は
|
62
62
|
private Item item;
|
63
63
|
Image image;
|
64
64
|
|
5
コードが二分割されてる、直したい
title
CHANGED
File without changes
|
body
CHANGED
@@ -62,20 +62,20 @@
|
|
62
62
|
private Item item;
|
63
63
|
Image image;
|
64
64
|
|
65
|
-
|
65
|
+
private void Awake()
|
66
|
-
|
66
|
+
{
|
67
|
-
|
67
|
+
image = GetComponent<Image>(); //imageにImageコンポーネントを入れる
|
68
|
-
|
68
|
+
}
|
69
69
|
|
70
|
-
|
70
|
+
public void SetItem(Item item)
|
71
|
-
|
71
|
+
{
|
72
|
-
|
72
|
+
UpdateImage(item); //すぐ下の関数を呼び出してる
|
73
|
-
|
73
|
+
}
|
74
74
|
|
75
|
-
|
75
|
+
void UpdateImage(Item item)
|
76
|
-
|
76
|
+
{
|
77
|
-
|
77
|
+
image.sprite = item.sprite; //Slotのimageにクリックしたアイテムのspriteを入れる
|
78
|
-
|
78
|
+
}
|
79
79
|
|
80
80
|
↑これで最初この状態(全部空っぽ)だった枠が
|
81
81
|
|
4
コードがブツ切りになってしまったので
title
CHANGED
File without changes
|
body
CHANGED
@@ -64,20 +64,17 @@
|
|
64
64
|
|
65
65
|
private void Awake()
|
66
66
|
{
|
67
|
-
//imageにImageコンポーネントを入れる
|
68
|
-
image = GetComponent<Image>();
|
67
|
+
image = GetComponent<Image>(); //imageにImageコンポーネントを入れる
|
69
68
|
}
|
70
69
|
|
71
70
|
public void SetItem(Item item)
|
72
71
|
{
|
73
|
-
|
72
|
+
UpdateImage(item); //すぐ下の関数を呼び出してる
|
74
|
-
UpdateImage(item);
|
75
73
|
}
|
76
74
|
|
77
75
|
void UpdateImage(Item item)
|
78
76
|
{
|
79
|
-
|
77
|
+
image.sprite = item.sprite; //Slotのimageにクリックしたアイテムのspriteを入れる
|
80
|
-
image.sprite = item.sprite;
|
81
78
|
}
|
82
79
|
|
83
80
|
↑これで最初この状態(全部空っぽ)だった枠が
|
3
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -57,7 +57,7 @@
|
|
57
57
|
### 補足
|
58
58
|
↑スロットのprefabは2重構造になっていて・・・
|
59
59
|
|
60
|
-
↑slotというスクリプトが付いています
|
60
|
+
↑上のほう(枠の画像、名前がslot)にはslotというスクリプトが付いています
|
61
61
|
中身は
|
62
62
|
private Item item;
|
63
63
|
Image image;
|
@@ -87,7 +87,8 @@
|
|
87
87
|
(上段の3番目のスロットに画像が入ってる、枠の部分なので隠れてあんまり見えてない)
|
88
88
|
|
89
89
|
枠の部分では無くて、アイテムの部分に入って欲しいが指定方法がわからない。
|
90
|
-
slotというスクリプトを、枠から外して
|
90
|
+
slotというスクリプトを、prefabの枠の部分(名前がslot)から外して
|
91
|
+
中のアイテム(名前がItemImage)の部分へと貼り替えてみましたが
|
91
92
|
それだとエラー
|
92
93
|
NullReferenceException: Object reference not set to an instance of an object
|
93
94
|
で止まってしまう。
|
2
追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -55,4 +55,39 @@
|
|
55
55
|
一日ずっと進まない状態が続くようなら諦めて一つ一つ、スロットをヒエラルキー上に10個作ります。
|
56
56
|
|
57
57
|
### 補足
|
58
|
+
↑スロットのprefabは2重構造になっていて・・・
|
59
|
+
|
60
|
+
↑slotというスクリプトが付いています
|
58
|
-
|
61
|
+
中身は
|
62
|
+
private Item item;
|
63
|
+
Image image;
|
64
|
+
|
65
|
+
private void Awake()
|
66
|
+
{
|
67
|
+
//imageにImageコンポーネントを入れる
|
68
|
+
image = GetComponent<Image>();
|
69
|
+
}
|
70
|
+
|
71
|
+
public void SetItem(Item item)
|
72
|
+
{
|
73
|
+
//すぐ下の関数を呼び出してる
|
74
|
+
UpdateImage(item);
|
75
|
+
}
|
76
|
+
|
77
|
+
void UpdateImage(Item item)
|
78
|
+
{
|
79
|
+
//Slotのimageにクリックしたアイテムのspriteを入れる
|
80
|
+
image.sprite = item.sprite;
|
81
|
+
}
|
82
|
+
|
83
|
+
↑これで最初この状態(全部空っぽ)だった枠が
|
84
|
+
|
85
|
+

|
86
|
+
↑アイテムがちゃんと入ってはくれるのだがこのように枠の部分の画像に入ってしまう
|
87
|
+
(上段の3番目のスロットに画像が入ってる、枠の部分なので隠れてあんまり見えてない)
|
88
|
+
|
89
|
+
枠の部分では無くて、アイテムの部分に入って欲しいが指定方法がわからない。
|
90
|
+
slotというスクリプトを、枠から外して、中のアイテムのほうに貼り替えてみたが
|
91
|
+
それだとエラー
|
92
|
+
NullReferenceException: Object reference not set to an instance of an object
|
93
|
+
で止まってしまう。
|
1
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -47,8 +47,9 @@
|
|
47
47
|
- [ ] その他
|
48
48
|
|
49
49
|
##### 上記の詳細・結果
|
50
|
+
アイテムスロット10個ぐらいならPrefabで自動的に生成せずに
|
50
51
|
一つ一つ、スロットをヒエラルキー上に10個作れば解決はすると思うのですが
|
51
|
-
Prefabを使
|
52
|
+
Prefabを使う練習、勉強をしてみたいのです。
|
52
53
|
|
53
54
|
Prefab、便利だけど使うのはとても難しくて・・・でも逃げて使わずにいても向上しないと思うので。
|
54
55
|
一日ずっと進まない状態が続くようなら諦めて一つ一つ、スロットをヒエラルキー上に10個作ります。
|