質問編集履歴

2

少し説明を捕捉しました。

2023/12/23 12:05

投稿

kurutonbhuik
kurutonbhuik

スコア1

test CHANGED
File without changes
test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  ### 前提
6
6
 
7
- 最近、自分で作ったゲームをunityroomに投稿したいと思い、webGLでbuildまでできたのですが、いざ動かしてみると、正常に動かないです。例えば、消えるはずのオブジェクトが消えなかったり、なぜか会話の最初に戻ったりします。更に明らかに重くなっています。このような時、どうすれば解決できるでしょうか?unityのGameでは想定通り動きました。
7
+ 最近、自分で作ったゲームをunityroomに投稿したいと思い、webGLでbuildまでできたのですが、いざ動かしてみると、正常に動かないです。例えば、消えるはずのオブジェクトが消えなかったり、なぜか会話の最初に戻ったりします。更に明らかに重くなっています。このような時、どうすれば解決できるでしょうか?unityのGameでは想定通り動きました。ゲーム自体はwebでなければ正しく動きます。
8
8
  ### 発生している問題・エラーメッセージ
9
9
 
10
10
  ```

1

想定通り動かない箇所のコード、前提を追記しました。ご迷惑をおかけしました。

2023/12/22 13:23

投稿

kurutonbhuik
kurutonbhuik

スコア1

test CHANGED
File without changes
test CHANGED
@@ -4,13 +4,175 @@
4
4
 
5
5
  ### 前提
6
6
 
7
- 最近、自分で作ったゲームをunityroomに投稿したいと思い、webGLでbuildまでできたのですが、いざ動かしてみると、正常に動かないです。例えば、消えるはずのオブジェクトが消えなかったり、なぜか会話の最初に戻ったりします。更に明らかに重くなっています。このような時、どうすれば解決できるでしょうか?
7
+ 最近、自分で作ったゲームをunityroomに投稿したいと思い、webGLでbuildまでできたのですが、いざ動かしてみると、正常に動かないです。例えば、消えるはずのオブジェクトが消えなかったり、なぜか会話の最初に戻ったりします。更に明らかに重くなっています。このような時、どうすれば解決できるでしょうか?unityのGameでは想定通り動きました。
8
8
  ### 発生している問題・エラーメッセージ
9
9
 
10
10
  ```
11
11
  選択肢を押したときに、押したほうのボタンしか消えない
12
12
  なぜかイベントが巻き戻る
13
13
  ゲームが重くなる
14
+ ```
15
+ ###
16
+ ```choisee.cs
17
+ using System.Collections;
18
+ using System.Collections.Generic;
19
+ using TMPro;
20
+ using Unity.VisualScripting;
21
+ using UnityEngine;
22
+
23
+
24
+ public class choisee : MonoBehaviour
25
+ {
26
+ public TextMeshProUGUI textt1;
27
+ text1 text;
28
+ choise choises;
29
+ private void Start()
30
+ {
31
+ GameObject obj = GameObject.Find("Square");
32
+ text = obj.GetComponent<text1>();
33
+ GameObject obj2 = obj.transform.Find("Canvas/21").gameObject;
34
+ choises = obj2.GetComponent<choise>();
35
+ }
36
+ // Start is called before the first frame update
37
+ public void sentakusi(string one)
38
+ {
39
+ textt1.text = one;
40
+ this.gameObject.SetActive(true);
41
+ }
42
+ public void click()
43
+ {
44
+ this.gameObject.SetActive(false);
45
+ text.choose = 2;
46
+ text.choisee = false;
47
+ //ここがうまく動かない
48
+ choises.gameObject.SetActive(false);
49
+ text.ikeeee();
50
+ }
51
+ }
52
+ ```
53
+ ```choise.cs
54
+ using System.Collections;
55
+ using System.Collections.Generic;
56
+ using TMPro;
57
+ using Unity.VisualScripting;
58
+ using UnityEngine;
59
+
60
+
61
+ public class choise : MonoBehaviour
62
+ {
63
+ public TextMeshProUGUI textt1;
64
+ text1 text;
65
+ choisee choises;
66
+ private void Start()
67
+ {
68
+ GameObject obj = GameObject.Find("Square");
69
+ text = obj.GetComponent<text1>();
70
+ GameObject obj2 = obj.transform.Find("Canvas/22").gameObject;
71
+ choises = obj2.GetComponent<choisee>();
72
+ }
73
+ // Start is called before the first frame update
74
+ public void sentakusi(string one)
75
+ {
76
+ textt1.text = one;
77
+ this.gameObject.SetActive(true);
78
+ }
79
+ public void click()
80
+ {
81
+ this .gameObject.SetActive(false);
82
+ text.choose = 1;
83
+ text.choisee = false;
84
+ text.ikeeee();
85
+ //ここがうまく動かない
86
+ choises.gameObject.SetActive(false);
87
+ }
88
+ }
89
+ ```
90
+ ```start.cs
91
+ using System.Collections;
92
+ using System.Linq;
93
+ using Unity.VisualScripting;
94
+ using UnityEngine;
95
+
96
+ public class start : MonoBehaviour
97
+ {
98
+ SpriteRenderer sprite;
99
+ public bool wait = false;
100
+ text1 text;
101
+ end ending;
102
+ restart res;
103
+
104
+ void Start()
105
+ {
106
+ sprite = GetComponent<SpriteRenderer>();
107
+ GameObject obj = GameObject.Find("Square");
108
+ text = obj.GetComponent<text1>();
109
+ Transform obj2 = this.transform.Find("Canvas/end");
110
+ ending = obj2.GetComponent<end>();
111
+ Transform obj3 = this.transform.Find("Canvas/retry");
112
+ res= obj3.GetComponent<restart>();
113
+ // Coroutine を開始する
114
+ StartCoroutine(FadeOut());
115
+ }
116
+
117
+ // Coroutine の定義
118
+ IEnumerator FadeOut()
119
+ {
120
+ Color color = sprite.color;
121
+ // 透明度が0より大きい場合
122
+ while (sprite.color.a > 0)
123
+ {
124
+ // 10フレーム待つ
125
+ yield return new WaitForSeconds(10 * Time.deltaTime);
126
+ // 透明度を0.01ずつ減らす
127
+ color.a -= 0.01f;
128
+ sprite.color = color;
129
+ }
130
+ wait = true;
131
+ }
132
+ IEnumerator Black()
133
+ {
134
+ //ここがうまく作動しない
135
+ Color color = sprite.color;
136
+ if (sprite.color.a >= 1.27)
137
+ {
138
+ ending.Theend(text.end);
139
+ res.Reset();
140
+ }
141
+ if (sprite.color.a < 1.27)
142
+ {
143
+ yield return new WaitForSeconds(13 * Time.deltaTime);
144
+ // 透明度を0.01ずつ減らす
145
+ color.a += 0.01f;
146
+ sprite.color = color;
147
+ Blackout();
148
+ }
149
+ }
150
+ public void Blackout() {
151
+ text.choisee = true;
152
+ if (text.end == 1 || text.end == 3 || text.end == 4 || text.end == 6||text.end==7)
153
+ {
154
+ if (text.number.Length == 1)
155
+ {
156
+ if (text.real==5)
157
+ {
158
+ text.number= new int[4] {1,2,3,4};
159
+ }
160
+ else
161
+ {
162
+ text.number = new int[1] { 5 };
163
+ }
164
+ }
165
+ else
166
+ {
167
+ text.number = text.number.Where(e => e != text.real).ToArray(); ;
168
+ }
169
+ }
170
+ text.textter = 0;
171
+ text.real = 0;
172
+ text.SAVE();
173
+ StartCoroutine(Black());
174
+ }
175
+ }
14
176
  ```
15
177
 
16
178