質問編集履歴

3

すこし修正

2018/05/19 02:24

投稿

Buddha_san2
Buddha_san2

スコア27

test CHANGED
File without changes
test CHANGED
@@ -136,7 +136,7 @@
136
136
 
137
137
  ```
138
138
 
139
- このスプリクトを画像に入れます。
139
+ 画像(ハートのマーク)にこのスプリクトを入れます。
140
140
 
141
141
  次のシーンに移動させるメソッドの中に、
142
142
 
@@ -178,7 +178,7 @@
178
178
 
179
179
  { //ライフの画像を非表示
180
180
 
181
- Heart = GameObject.Find("ハートのマーク2");
181
+ Heart = GameObject.Find("ハートのマーク");
182
182
 
183
183
  Heart.SetActive(false);
184
184
 

2

大きく修正しました

2018/05/19 02:24

投稿

Buddha_san2
Buddha_san2

スコア27

test CHANGED
File without changes
test CHANGED
@@ -86,7 +86,15 @@
86
86
 
87
87
  {
88
88
 
89
+ //対応させる
90
+
91
+ instance = this.gameObject;
92
+
93
+
94
+
95
+ //instanceに入っていて、それがHeartBoxなら破壊
96
+
89
- if (instance != null)
97
+ if (instance != null && instance != this)
90
98
 
91
99
  {
92
100
 
@@ -101,6 +109,10 @@
101
109
  DontDestroyOnLoad(this.gameObject);
102
110
 
103
111
  }
112
+
113
+
114
+
115
+ //このDeleteInstance2は、今は何も使っていません
104
116
 
105
117
  public static void DeleteInstance2()
106
118
 
@@ -124,9 +136,17 @@
124
136
 
125
137
  ```
126
138
 
127
- このスプリクトを画像に入れて、次に、起動したいスプリクトに、
139
+ このスプリクトを画像に入れます。
140
+
141
+ 次のシーンに移動させるメソッドの中に、
128
142
 
129
143
  ```
144
+
145
+ //ダメージの変数
146
+
147
+ public static int qCount;
148
+
149
+ //ハートを見つける変数
130
150
 
131
151
  public static GameObject Heart;
132
152
 
@@ -134,14 +154,44 @@
134
154
 
135
155
  ```
136
156
 
137
- Heart = GameObject.Find("ハートのマーク2");
157
+ public void NextQuiz()
138
158
 
139
- Heart.SetActive(false);
159
+ {
140
160
 
161
+ //もし不正解なら
162
+
163
+ if(g_judgeData == "不正解")
164
+
165
+ {
166
+
167
+    //同じシーンが続く
168
+
169
+ SceneManager.LoadScene("Quiz");
170
+
171
+ //1ダメージを入れる
172
+
173
+ qCount++;
174
+
175
+    //1ダメージ入ったのなら
176
+
177
+ if (qCount == 1)
178
+
179
+ { //ライフの画像を非表示
180
+
181
+ Heart = GameObject.Find("ハートのマーク2");
182
+
141
- HeartBox.DeleteInstance2();
183
+ Heart.SetActive(false);
184
+
185
+ }
186
+
187
+ }
188
+
189
+ }
142
190
 
143
191
  ```
144
192
 
145
- みました。シーが変わるまで消えま新しいシーンで新たに画像が出した
193
+ ボタンにこのNextQuiz()入れ、ボタを押同じシーンがま現れるようなってま
146
194
 
147
- いません、もう少まくいくうのであと直せばいいのか分かりません、よろしくお願いします
195
+ 次は、最初から画像が消えた状態になってしまいました。画像が消えたのはHeartBoxクラスのAwake()のif文が問題だろうと思いま。しかし、どうしたら画像最初だけ出して、一回目の「不正解」以降は非表示、にすればいいのか分かりません。
196
+
197
+ よろしくお願いします。

1

文章の追加

2018/05/19 02:19

投稿

Buddha_san2
Buddha_san2

スコア27

test CHANGED
File without changes
test CHANGED
@@ -45,3 +45,103 @@
45
45
 
46
46
 
47
47
  よろしくお願いします。
48
+
49
+
50
+
51
+ ### 追記
52
+
53
+ ```
54
+
55
+ using UnityEngine;
56
+
57
+ using System.Collections;
58
+
59
+
60
+
61
+ public class HeartBox : MonoBehaviour
62
+
63
+ {
64
+
65
+
66
+
67
+ public bool dontDestroyEnabled = true;
68
+
69
+
70
+
71
+ private static GameObject instance = null;
72
+
73
+
74
+
75
+ public static GameObject Instance
76
+
77
+ {
78
+
79
+ get { return instance; }
80
+
81
+ }
82
+
83
+
84
+
85
+ void Awake()
86
+
87
+ {
88
+
89
+ if (instance != null)
90
+
91
+ {
92
+
93
+ Destroy(this.gameObject);
94
+
95
+ return;
96
+
97
+ }
98
+
99
+
100
+
101
+ DontDestroyOnLoad(this.gameObject);
102
+
103
+ }
104
+
105
+ public static void DeleteInstance2()
106
+
107
+ {
108
+
109
+ if (instance != null)
110
+
111
+ {
112
+
113
+ Destroy(instance.gameObject);
114
+
115
+ instance = null;
116
+
117
+ }
118
+
119
+ }
120
+
121
+ }
122
+
123
+
124
+
125
+ ```
126
+
127
+ このスプリクトを画像に入れて、次に、起動したいスプリクトに、
128
+
129
+ ```
130
+
131
+ public static GameObject Heart;
132
+
133
+ ```
134
+
135
+ ```
136
+
137
+ Heart = GameObject.Find("ハートのマーク2");
138
+
139
+ Heart.SetActive(false);
140
+
141
+ HeartBox.DeleteInstance2();
142
+
143
+ ```
144
+
145
+ をしてみました。シーンが変わるまで消えますが、新しいシーンで新たに画像が出てきました。
146
+
147
+ すいません、もう少しでうまくいくとは思うのですが、あとどこを直せばいいのか分かりません、よろしくお願いします。