質問編集履歴
12
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -106,7 +106,9 @@
|
|
106
106
|
|
107
107
|
###改良後のソース
|
108
108
|
``````
|
109
|
-
//セレクトボタン側
|
109
|
+
//セレクトボタン側(ソースはボタンにアタッチ済み)
|
110
|
+
--------hogefugapiyo様のソースを参考-------------
|
111
|
+
|
110
112
|
public GameObject[] starImage; //★画像
|
111
113
|
|
112
114
|
public int stageID;
|
11
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -98,7 +98,7 @@
|
|
98
98
|
言語:C#
|
99
99
|
|
100
100
|
追記
|
101
|
-
ゲームメインの★の保存は以下のように変更
|
101
|
+
ゲームメインの★の保存は以下のように変更(該当ソース1)
|
102
102
|
//★1番目、2番目、3番目の保存処理
|
103
103
|
PlayerPrefs.SetInt("STARSAVE" + 1 + StageNo, 1);
|
104
104
|
PlayerPrefs.SetInt("STARSAVE" + 2 + StageNo, 1);
|
@@ -106,7 +106,7 @@
|
|
106
106
|
|
107
107
|
###改良後のソース
|
108
108
|
``````
|
109
|
-
//セレクトボタン側(ソースを
|
109
|
+
//セレクトボタン側(hogefugapiyo様のソースを参考)
|
110
110
|
public GameObject[] starImage; //★画像
|
111
111
|
|
112
112
|
public int stageID;
|
10
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -98,6 +98,27 @@
|
|
98
98
|
言語:C#
|
99
99
|
|
100
100
|
追記
|
101
|
+
ゲームメインの★の保存は以下のように変更
|
102
|
+
//★1番目、2番目、3番目の保存処理
|
103
|
+
PlayerPrefs.SetInt("STARSAVE" + 1 + StageNo, 1);
|
104
|
+
PlayerPrefs.SetInt("STARSAVE" + 2 + StageNo, 1);
|
105
|
+
PlayerPrefs.SetInt("STARSAVE" + 3 + StageNo, 1);
|
106
|
+
|
107
|
+
###改良後のソース
|
108
|
+
``````
|
109
|
+
//セレクトボタン側(ソースをボタンにアタッチ)
|
110
|
+
public GameObject[] starImage; //★画像
|
111
|
+
|
112
|
+
public int stageID;
|
113
|
+
|
101
|
-
|
114
|
+
void Start()
|
115
|
+
{
|
102
|
-
|
116
|
+
// ここでステージの星チェック
|
103
|
-
|
117
|
+
for (int i = 0; i < starImage.Length; i++)
|
118
|
+
{
|
119
|
+
starImage[i].SetActive(PlayerPrefs.GetInt("STARSAVE" + (i + 1) + stageID) == 1 ? true : false);
|
120
|
+
Debug.Log("★" + PlayerPrefs.GetInt("STARSAVE" + (i + 1) + stageID));
|
121
|
+
}
|
122
|
+
Debug.Log("ステージ" + stageID);
|
123
|
+
}
|
124
|
+
```
|
9
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -97,5 +97,7 @@
|
|
97
97
|
Unity 2018.3.11f1
|
98
98
|
言語:C#
|
99
99
|
|
100
|
+
追記
|
100
101
|
---現状の画像---
|
102
|
+
ボタンを押すとそのステージで取得した★が表示されます。
|
101
103
|

|
8
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -95,4 +95,7 @@
|
|
95
95
|
|
96
96
|
###補足情報(言語/FW/ツール等のバージョンなど)
|
97
97
|
Unity 2018.3.11f1
|
98
|
-
言語:C#
|
98
|
+
言語:C#
|
99
|
+
|
100
|
+
---現状の画像---
|
101
|
+

|
7
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
###前提・実現したいこと
|
2
2
|
リザルト画面で、獲得した★の数をステージセレクト画面でも表示したいのですが
|
3
3
|
if文でどうにか単体(1ステージ分)は表示することはできましたが、このままだと
|
4
|
-
ただひたすらif文を繰り返すことになるので・・・
|
4
|
+
ただひたすらif文を繰り返すことになるので・・・(該当ソース2より)
|
5
5
|
if文以外で各ステージ分を表示する方法をご存知でしたらご教示ください。
|
6
6
|
|
7
7
|
ステージセレクトイメージ画像
|
6
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
リザルト画面で、獲得した★の数をステージセレクト画面でも表示したいのですが
|
3
3
|
if文でどうにか単体(1ステージ分)は表示することはできましたが、このままだと
|
4
4
|
ただひたすらif文を繰り返すことになるので・・・
|
5
|
-
if文以外で各ステージ分を表示する方法をご存知でしたらご
|
5
|
+
if文以外で各ステージ分を表示する方法をご存知でしたらご教示ください。
|
6
6
|
|
7
7
|
ステージセレクトイメージ画像
|
8
8
|

|
5
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -74,7 +74,7 @@
|
|
74
74
|
LockImage[i].SetActive(!clearFlg);
|
75
75
|
}
|
76
76
|
----------------------------------------------------------------------------
|
77
|
-
if文でとりあえず表示(1ステージ
|
77
|
+
if文でとりあえず表示(1ステージ、2ステージ、3ステージ・・・と続くと効率が悪い)
|
78
78
|
|
79
79
|
if (PlayerPrefs.GetInt("STARSAVE1" + clearStageNo) == 1)
|
80
80
|
{
|
4
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,11 +1,12 @@
|
|
1
1
|
###前提・実現したいこと
|
2
2
|
リザルト画面で、獲得した★の数をステージセレクト画面でも表示したいのですが
|
3
|
-
if文でどうにか単体(1ステージ分)は表示することはできましたが、
|
3
|
+
if文でどうにか単体(1ステージ分)は表示することはできましたが、このままだと
|
4
|
+
ただひたすらif文を繰り返すことになるので・・・
|
4
|
-
する方法
|
5
|
+
if文以外で各ステージ分を表示する方法をご存知でしたらごご教示ください。
|
5
6
|
|
6
7
|
ステージセレクトイメージ画像
|
7
8
|

|
8
|
-
|
9
|
+
1画面にステージ数が7つあり、1ステージにつき★は3個で全部で21個ある状態です
|
9
10
|
###該当のソースコード1
|
10
11
|
``````
|
11
12
|
gememain側のソース
|
3
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -22,7 +22,7 @@
|
|
22
22
|
StarImage[0].SetActive(true);
|
23
23
|
|
24
24
|
---獲得した1番目の★を保存---------
|
25
|
-
PlayerPrefs.SetInt("
|
25
|
+
PlayerPrefs.SetInt("STARSAVE1" + StageNo, 1);
|
26
26
|
|
27
27
|
//中央の★・今回か前回がコイン3、もしくは既に星3つ達成済みなら表示
|
28
28
|
yield return new WaitForSeconds(0.3f);
|
@@ -50,11 +50,11 @@
|
|
50
50
|
獲得した2番目と3番目の★を保存
|
51
51
|
if (CoinTotal == 0)
|
52
52
|
{
|
53
|
-
PlayerPrefs.SetInt("
|
53
|
+
PlayerPrefs.SetInt("STARSAVE3" + StageNo, 1);
|
54
54
|
}
|
55
55
|
else if(CoinTotal == 3)
|
56
56
|
{
|
57
|
-
PlayerPrefs.SetInt("
|
57
|
+
PlayerPrefs.SetInt("STARSAVE2" + StageNo, 1);
|
58
58
|
}
|
59
59
|
}
|
60
60
|
```
|
@@ -75,17 +75,17 @@
|
|
75
75
|
----------------------------------------------------------------------------
|
76
76
|
if文でとりあえず表示(1ステージだけなら問題ないのですが・・)
|
77
77
|
|
78
|
-
if (PlayerPrefs.GetInt("
|
78
|
+
if (PlayerPrefs.GetInt("STARSAVE1" + clearStageNo) == 1)
|
79
79
|
{
|
80
80
|
starImage[0].SetActive(true);
|
81
81
|
}
|
82
82
|
|
83
|
-
if (PlayerPrefs.GetInt("
|
83
|
+
if (PlayerPrefs.GetInt("STARSAVE2" + clearStageNo) == 1)
|
84
84
|
{
|
85
85
|
starImage[1].SetActive(true);
|
86
86
|
}
|
87
87
|
|
88
|
-
if (PlayerPrefs.GetInt("
|
88
|
+
if (PlayerPrefs.GetInt("STARSAVE3" + clearStageNo) == 1)
|
89
89
|
{
|
90
90
|
starImage[2].SetActive(true);
|
91
91
|
}
|
2
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -63,7 +63,7 @@
|
|
63
63
|
``````
|
64
64
|
--------StageSelect側のソース-------------
|
65
65
|
|
66
|
-
|
66
|
+
void start(){
|
67
67
|
int clearStageNo = PlayerPrefs.GetInt("CLEAR", 0);
|
68
68
|
for (int i = 0; i <= stageButtons.GetUpperBound(0); i++)
|
69
69
|
{
|
1
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
###前提・実現したいこと
|
2
2
|
リザルト画面で、獲得した★の数をステージセレクト画面でも表示したいのですが
|
3
3
|
if文でどうにか単体(1ステージ分)は表示することはできましたが、各ステージ分を表示
|
4
|
-
する方法がい
|
4
|
+
する方法が思いつかなかったのでこちらで質問することにしました。
|
5
5
|
|
6
6
|
ステージセレクトイメージ画像
|
7
7
|

|
8
8
|
|
9
|
-
###該当のソースコード
|
9
|
+
###該当のソースコード1
|
10
10
|
``````
|
11
11
|
gememain側のソース
|
12
12
|
ゲームメインの星の保存処理
|
@@ -59,9 +59,9 @@
|
|
59
59
|
}
|
60
60
|
```
|
61
61
|
|
62
|
-
###該当のソースコード
|
62
|
+
###該当のソースコード2
|
63
63
|
``````
|
64
|
-
--------StageSelect側ソース-------------
|
64
|
+
--------StageSelect側のソース-------------
|
65
65
|
|
66
66
|
vodi start(){
|
67
67
|
int clearStageNo = PlayerPrefs.GetInt("CLEAR", 0);
|
@@ -73,7 +73,7 @@
|
|
73
73
|
LockImage[i].SetActive(!clearFlg);
|
74
74
|
}
|
75
75
|
----------------------------------------------------------------------------
|
76
|
-
if文でとりあえず表示(
|
76
|
+
if文でとりあえず表示(1ステージだけなら問題ないのですが・・)
|
77
77
|
|
78
78
|
if (PlayerPrefs.GetInt("STARCOUNT1" + clearStageNo) == 1)
|
79
79
|
{
|