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

質問編集履歴

3

修正

2020/05/29 05:37

投稿

MOTOMUR
MOTOMUR

スコア195

title CHANGED
File without changes
body CHANGED
@@ -8,8 +8,13 @@
8
8
  HPbar(slider)
9
9
  }
10
10
  ```
11
- text(Object)のtextに代入する場合、text(Object)内のスクリプト上ではtext.text = anyなのはわかりますが、GameObject内のtext(Object)のtextに代入する場合はGameObjectにスクリプト貼って「」.text.text = any(「」が不明)で代入できるのでしょうかそれともできないんでしょうか。
11
+ text(Object)のtextに代入する場合、text(Object)内のスクリプト上ではtext.text = anyなのはわかりますが、GameObject内のtext(Object)のtextに代入する場合は
12
12
 
13
+ GameObjectにスクリプト貼って
14
+ GameObject obj = GameObject.Find("PlayerUnit");
15
+ obj.text.text = "hoge";
16
+ 上記の方法で代入できるということで間違いありませんでしょうか。
17
+ また、”hoge”は上記例では文字列ですが、本来は値の変更があるscriptableObjectを参照しており、動的にそのscriptableObjectが変更された値を反映させたいのですが、このスクリプト上にもResouses.LoadをUpdate()内で無限に呼び出さないといけませんか。(PlayerUnitだけでなく、シーンにResouses.LoadをUpdate()内で無限に呼び出すスクリプトが紐づけられています。)
13
18
 
14
19
 
15
20
  ➁sctiptableObjectの変更を保存したい。

2

内容整理

2020/05/29 05:37

投稿

MOTOMUR
MOTOMUR

スコア195

title CHANGED
@@ -1,1 +1,1 @@
1
- scriptableObjectの中身の変更を動的にリスナーするには。
1
+ scriptableObjectの動的に変化する中身の参照方法と中身の変更方法
body CHANGED
@@ -10,8 +10,9 @@
10
10
  ```
11
11
  text(Object)のtextに代入する場合、text(Object)内のスクリプト上ではtext.text = anyなのはわかりますが、GameObject内のtext(Object)のtextに代入する場合はGameObjectにスクリプト貼って「」.text.text = any(「」が不明)で代入できるのでしょうかそれともできないんでしょうか。
12
12
 
13
- ➁sctiptableObjectの変更を随時読み込みたい。
14
- Update()内にResouses.Loadを入れて更新し続ければScriptableObjectの値の変更を常時監視できるようにできるのは調べて分かりました。しかし、この扱いではUpdateが1フレームごとに毎回Resouses.Loadし続けるのでダサいやり方だなあと。(メモリの使用も増える。)
15
13
 
14
+
16
- scriptableObjects内データの書き換えがあったときにのみ新できるようにしたい。
15
+ ➁sctiptableObjectを保存したい。
16
+ ---
17
- それを実現するためにどうしらいいのか。検索しましたがその概念の言葉が表現できず解決には至らなかったためお力お貸しいただけと助かりま
17
+ ScriptableObjectの参照方法の例はたくさん検索で拝見しましたが、スクリプト上で変更動的に保存す方法がわかりませんでした
18
+ そもそも保存方法はないんでしょうか。

1

内容整理

2020/05/29 05:32

投稿

MOTOMUR
MOTOMUR

スコア195

title CHANGED
File without changes
body CHANGED
@@ -1,11 +1,3 @@
1
- scriptableObjectの現在の読み込み方法はResouses.Load
2
- ---
3
- キャラクター(GameObject)にステータス(scriptableObject)を反映させたい。
4
- ステータスにはそれぞれ項目別にSetHP()とGetHP()を用意してるとする。
5
- start()内で一度だけResouses.Loadしてる。この1度だけStart内でとってきた状態のデータが格納されただけで、中身をリスナーしているわけではないですよね?
6
- どのように設定すれば変更を受け取れますか。
7
-
8
- また、代入でも困ってます。
9
1
  ⓵PlayerUnit(GameObject)への代入方法での躓き。
10
2
  ---
11
3
  動的に生成したGameObjectにscriptableなステータスを紐づけたい。
@@ -16,7 +8,10 @@
16
8
  HPbar(slider)
17
9
  }
18
10
  ```
19
- TextやsliderなどscriptableObjectステータスを動的に代入するときPlayerUnitに事前にHPとかを入れる箱をスクリプトで用意してアタッチると思うんですけどPlayerUnitscriptableObjectステータスを箱(int HP,string Nameを用意するだけNameとかHPBarから値ってアクセスできますそれぞれNameかにそれぞれスクリプトが必要でしょうか。
11
+ text(Object)textに代入する場合text(Object)内のスクリプトはtext.text = anyなのはわかりまGameObject内のtext(Object)のtext場合はGameObjectにスクリプト貼って「」.text.text = any(「」が不明)で代入できるのでしょうかそれときないんでしょうか。
20
12
 
13
+ ➁sctiptableObjectの変更を随時読み込みたい。
14
+ Update()内にResouses.Loadを入れて更新し続ければScriptableObjectの値の変更を常時監視できるようにできるのは調べて分かりました。しかし、この扱いではUpdateが1フレームごとに毎回Resouses.Loadし続けるのでダサいやり方だなあと。(メモリの使用も増える。)
15
+
16
+ scriptableObjects内のデータの書き換えがあったときにのみ更新できるようにしたい。
21
- もそも、この代入方法で中身リスナーできたらいいんですけど、リスナーできないのであれば、リスナーでるよう導入方法教えてください。
17
+ 実現するめにはどうしたらいいのか。検索はしましたがその概念の言葉が表現できず解決には至らかったため、お力お貸しただけると助かります
22
- 調べましたがわかりませんでした。。