質問編集履歴

2

現状が進展したので質問を更新しました

2020/04/29 10:01

投稿

kidaer
kidaer

スコア31

test CHANGED
File without changes
test CHANGED
@@ -1,50 +1,140 @@
1
- 並列処理のやり方知りたいです。
1
+ シーン1変数を変更したときに、シーン2のテキストコメント自動で変更する仕組みにしたいです。
2
2
 
3
3
 
4
4
 
5
- シーン1ボタンを押すとランダム数値(数)決まりま
5
+ 以下状態テキストが自動更できることわかりました
6
-
7
- その変数をシーン2に引き継ぎます。
8
6
 
9
7
 
10
8
 
11
- Image1ifでフラグ分けして、変数1が1の時には画像1、2の時には画像2が出るようにします。
9
+ ```ここに言語入力
12
10
 
11
+ using System.Collections;
12
+
13
- テキスト1をifでフラグ分けし、変数1が1の時にはコメント1、2の時にはコメント2が出るようにします。
13
+ using System.Collections.Generic;
14
+
15
+ using UnityEngine;
16
+
17
+ using System;
18
+
19
+ using UnityEngine.UI;
14
20
 
15
21
 
16
22
 
17
- シーン2のボタン1を押してランダムで数値を出します。
18
23
 
24
+
19
- この値をシーン1に上書きするとして、この上書きした値を元にImage1、テキスト1が自動的に内容を変えるようにしたいです。
25
+ public class 文字変 : MonoBehaviour {
20
26
 
21
27
 
22
28
 
23
- ===============================
29
+ public GameObject score_object = null; // Textオブジェクト
24
30
 
25
- 【追記】
31
+
26
32
 
33
+ // 初期化
34
+
35
+ void Start () {
36
+
37
+ }
38
+
39
+
40
+
41
+ // 更新
42
+
43
+ void Update () {
44
+
27
- 今回この質問をしたのは、そもそもunityだと並列処理どうすればいいのか検討もつかないからです(ぐぐったのですがわかりやすい記事がありませんでした)。
45
+ // オブジェクトからTextコンポーネント取得
28
46
 
29
47
 
30
48
 
31
- ウディタだと確かフラグ管理の関係で並列処理の機能があって、登録するだけで変数を監視して随時変更するというものが使えていたような気がします。unityにはそういう機能がなく、自分でイチから組むしかないのでしょうか?
49
+ int b = titleJup.aaa;
32
50
 
33
51
 
34
52
 
53
+
54
+
35
- そうすると、どうやって組めばいいのでしょうか?
55
+ Text score_text = score_object.GetComponent<Text> ();
36
56
 
37
57
 
38
58
 
39
- ループは回数制限もありますしちょっと違う気がします(無限ループはバグるはずですし)
59
+ if (b == 1) {
40
60
 
41
- 要はIFによりImageやコメントを変更す処理を何度でも呼び出せればいいのかなと思うのですが、それもまた並列処理とちょっと違う気がします。
61
+ // テキスの表示入れ替え
42
62
 
43
- それとも、いちいちボタンを押してImageを変更させるという手順が必要になるのでしょうか?
63
+ score_text.text = "aaaaa"; }
44
64
 
45
- 変数を監視して自動的に画像を変えるという処理は不可能なのでしょうか?
46
65
 
66
+
67
+ }
68
+
69
+ }
70
+
71
+ ```
72
+
47
- 非同期処理はあくま処理同時進行するけども変数の監視自体はしていのでやぱりちょっと違う気がしま
73
+ 上記を真似てImageもきないかやってみたのですが、再生ができなくなっしまいました
74
+
75
+ ```ここに言語を入力
76
+
77
+ using System.Collections;
78
+
79
+ using System.Collections.Generic;
80
+
81
+ using UnityEngine;
82
+
83
+ using System;
84
+
85
+ using UnityEngine.UI;
86
+
87
+
88
+
89
+ public class 画像変更 : MonoBehaviour
90
+
91
+ {
92
+
93
+
94
+
95
+ public GameObject Image_object = null; // Imageオブジェクト
96
+
97
+ public Sprite 偽金;
98
+
99
+
100
+
101
+ void Start()
102
+
103
+ { }
104
+
105
+
106
+
107
+ void Update()
108
+
109
+ {
110
+
111
+ int flag = titleJup.aaa;
112
+
113
+
114
+
115
+ Image Image_image = Image_object.GetComponent<Image> ();
116
+
117
+
118
+
119
+ if (flag == 1) {
120
+
121
+
122
+
123
+ Image_image.Sprite = 偽金;
124
+
125
+
126
+
127
+
128
+
129
+ }
130
+
131
+
132
+
133
+ } }
134
+
135
+ ```
136
+
137
+
48
138
 
49
139
 
50
140
 

1

追記しました

2020/04/29 10:01

投稿

kidaer
kidaer

スコア31

test CHANGED
File without changes
test CHANGED
@@ -20,4 +20,34 @@
20
20
 
21
21
 
22
22
 
23
+ ===============================
24
+
25
+ 【追記】
26
+
27
+ 今回この質問をしたのは、そもそもunityだと並列処理をどうすればいいのか検討もつかないからです(ぐぐったのですがわかりやすい記事がありませんでした)。
28
+
29
+
30
+
31
+ ウディタだと確かフラグ管理の関係で並列処理の機能があって、登録するだけで変数を監視して随時変更するというものが使えていたような気がします。unityにはそういう機能がなく、自分でイチから組むしかないのでしょうか?
32
+
33
+
34
+
35
+ そうすると、どうやって組めばいいのでしょうか?
36
+
37
+
38
+
39
+ ループは回数制限もありますしちょっと違う気がします(無限ループはバグるはずですし)
40
+
41
+ 要はIFによりImageやコメントを変更する処理を何度でも呼び出せればいいのかなと思うのですが、それもまた並列処理とちょっと違う気がします。
42
+
43
+ それとも、いちいちボタンを押してImageを変更させるという手順が必要になるのでしょうか?
44
+
45
+ 変数を監視して自動的に画像を変えるという処理は不可能なのでしょうか?
46
+
47
+ 非同期処理はあくまで処理が同時進行するけども、変数の監視自体はしてくれないのでやっぱりちょっと違う気がします。
48
+
49
+
50
+
23
51
  どうしたらいいのでしょうか?
52
+
53
+ よろしくお願い致します