質問編集履歴
6
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -115,14 +115,14 @@
|
|
115
115
|
}
|
116
116
|
```
|
117
117
|
###自分で試したこと
|
118
|
-
`// ↓ ここにサンプルコードを実装 ↓
|
118
|
+
` // ↓ ここにサンプルコードを実装 ↓
|
119
|
-
|
119
|
+
var millsec = 123456;
|
120
|
-
|
120
|
+
var timeScore = new System.TimeSpan(0, 0, 0, 0, millsec);
|
121
|
-
|
121
|
+
naichilab.RankingLoader.Instance.SendScoreAndShowRanking(timeScore);`
|
122
|
-
ここのコードの123456という部分
|
122
|
+
ここのコードの123456という部分が原因だと思っていろいろ変えて試してみました。
|
123
123
|
・Time ・timer ・Text ・Time.deltaTime ・timeText
|
124
124
|
・minutes.ToString("00") + " : " + seconds.ToString("00.00"); など
|
125
|
-
|
125
|
+
全て「引数5:は'float'から'int'に変換できません。」 や 「~という名前は存在しません。」などと出ます。
|
126
126
|
|
127
127
|
###補足情報(FW/ツールのバージョンなど)
|
128
128
|
Windowsのunityでバージョンは2018.4.29f1です。
|
5
少し進んだので変更
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
ランキングに記録が反映されません
|
body
CHANGED
@@ -2,41 +2,17 @@
|
|
2
2
|
NCMBを用いてタイムアタックのオンライン上のランキングを作りたいです。
|
3
3
|
[https://blog.naichilab.com/entry/webgl-simple-ranking](https://blog.naichilab.com/entry/webgl-simple-ranking)
|
4
4
|
↑こちらのサイトを参考にしてタイムアタックのオンライン上でのランキングを作っています。
|
5
|
-
※本文中でのサイトというのはこのサイトのことです。 一度見ていただけるとありがたいです。
|
6
5
|
|
7
|
-
###実現したいこと
|
8
|
-
ランキングにタイムアタックの記録を反映させたいです。
|
9
|
-
それによってリスタート時にも記録が保持されたままになることは防ぎたいです。
|
10
|
-
|
11
6
|
### 発生している問題
|
12
|
-
|
7
|
+
記録がランキングに反映されません。
|
13
|
-
自分で調べたところシーンを移動すると記録が破棄されるらしく、staticなどを試してみたけどうまくいきません。
|
14
|
-
またstaticを使うとリスタート時にも記録が保存されたままになるらしいというのを知り断念しました。
|
15
|
-
|
16
8
|
下の画像の今回のスコアという部分に記録を反映させたいです。
|
17
9
|

|
18
10
|
|
19
|
-
### 自分が思っている原因の候補
|
20
|
-
0. サイト内でRankingInfoのCustom Format欄にカスタム日時書式指定文字列を用いて文字列を入力するとあってサイトを参考に入力してみましたがその文字列が間違っている可能性があります。
|
21
|
-
〇:〇〇.〇〇(〇分〇〇秒〇〇)という風に表示させたいです。 僕はm:s.ffと書いています。
|
22
|
-
0. `// Type == Time の場合
|
23
|
-
var millsec = 123456;
|
24
|
-
var timeScore = new System.TimeSpan(0, 0, 0, 0, millsec);
|
25
|
-
naichilab.RankingLoader.Instance.SendScoreAndShowRanking(timeScore);`
|
26
|
-
サイトにこのコードを呼び出すと書いてあったのですが、呼び出し方をミスっている可能性があります。
|
27
|
-
僕は移行後のシーンのヒエラルキーにGameObjectをつくってそこにこのコードをつけています。
|
28
|
-
0. シーン移行時にタイムの記録が破棄されているため表示されていない可能性があります。
|
29
|
-
|
30
11
|
###教えてほしいこと
|
31
|
-
0. 自分が入力した文字列が間違っているのであれば正しい文字列を教えてほしいです。
|
32
|
-
0. **自分が思っている原因の候補**の番号リスト2のコードの呼び出しをどのようにすればいいのか教えてほしいです。
|
33
|
-
0. シーンを移行しても記録が保持できるような方法やコードを教えてほしいです。
|
34
|
-
ゲームをリスタートした場合は記録が保持されない方法でお願いします。
|
35
|
-
|
12
|
+
ランキングが反映できるようなソースコードの改善案を教えてほしいです。
|
36
|
-
0. その他何か問題の解決案がありましたら教えてほしいです。
|
37
13
|
|
38
14
|
### 該当のソースコード
|
39
|
-
タイムアタック
|
15
|
+
タイムアタックの記録を表示するソースコード
|
40
16
|
```c#
|
41
17
|
using System.Collections;
|
42
18
|
using System.Collections.Generic;
|
@@ -117,7 +93,7 @@
|
|
117
93
|
}
|
118
94
|
}
|
119
95
|
```
|
120
|
-
ランキング画面を呼び出すため
|
96
|
+
ランキング画面を呼び出すためのコード
|
121
97
|
```c#
|
122
98
|
using System.Collections;
|
123
99
|
using System.Collections.Generic;
|
@@ -138,6 +114,15 @@
|
|
138
114
|
}
|
139
115
|
}
|
140
116
|
```
|
117
|
+
###自分で試したこと
|
118
|
+
`// ↓ ここにサンプルコードを実装 ↓
|
119
|
+
var millsec = 123456;
|
120
|
+
var timeScore = new System.TimeSpan(0, 0, 0, 0, millsec);
|
121
|
+
naichilab.RankingLoader.Instance.SendScoreAndShowRanking(timeScore);`
|
122
|
+
ここのコードの123456という部分をいろいろ変えて試してみました。
|
123
|
+
・Time ・timer ・Text ・Time.deltaTime ・timeText
|
124
|
+
・minutes.ToString("00") + " : " + seconds.ToString("00.00"); など
|
125
|
+
どれもうまくいきませんでした。
|
141
126
|
|
142
127
|
###補足情報(FW/ツールのバージョンなど)
|
143
128
|
Windowsのunityでバージョンは2018.4.29f1です。
|
4
さらに追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -24,7 +24,8 @@
|
|
24
24
|
var timeScore = new System.TimeSpan(0, 0, 0, 0, millsec);
|
25
25
|
naichilab.RankingLoader.Instance.SendScoreAndShowRanking(timeScore);`
|
26
26
|
サイトにこのコードを呼び出すと書いてあったのですが、呼び出し方をミスっている可能性があります。
|
27
|
+
僕は移行後のシーンのヒエラルキーにGameObjectをつくってそこにこのコードをつけています。
|
27
|
-
0. シーン移行時に記録が破棄されているため表示されていない可能性があります。
|
28
|
+
0. シーン移行時にタイムの記録が破棄されているため表示されていない可能性があります。
|
28
29
|
|
29
30
|
###教えてほしいこと
|
30
31
|
0. 自分が入力した文字列が間違っているのであれば正しい文字列を教えてほしいです。
|
@@ -139,4 +140,6 @@
|
|
139
140
|
```
|
140
141
|
|
141
142
|
###補足情報(FW/ツールのバージョンなど)
|
142
|
-
Windowsのunityでバージョンは2018.4.29f1です。
|
143
|
+
Windowsのunityでバージョンは2018.4.29f1です。
|
144
|
+
|
145
|
+
回答よろしくお願いします。
|
3
肝心の教えてほしいことを書いてなかったので追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,9 +1,8 @@
|
|
1
1
|
### 前提
|
2
2
|
NCMBを用いてタイムアタックのオンライン上のランキングを作りたいです。
|
3
|
-
[https://blog.naichilab.com/entry/webgl-simple-ranking]
|
3
|
+
[https://blog.naichilab.com/entry/webgl-simple-ranking](https://blog.naichilab.com/entry/webgl-simple-ranking)
|
4
4
|
↑こちらのサイトを参考にしてタイムアタックのオンライン上でのランキングを作っています。
|
5
|
-
※本文中でのサイトというのはこのサイトのことです。
|
5
|
+
※本文中でのサイトというのはこのサイトのことです。 一度見ていただけるとありがたいです。
|
6
|
-
詳しい方どうか回答をよろしくお願いします。
|
7
6
|
|
8
7
|
###実現したいこと
|
9
8
|
ランキングにタイムアタックの記録を反映させたいです。
|
@@ -24,10 +23,17 @@
|
|
24
23
|
var millsec = 123456;
|
25
24
|
var timeScore = new System.TimeSpan(0, 0, 0, 0, millsec);
|
26
25
|
naichilab.RankingLoader.Instance.SendScoreAndShowRanking(timeScore);`
|
27
|
-
サイトにこのコード呼び出すと書いてあったのですが、呼び出し方をミスっている可能性があります。
|
26
|
+
サイトにこのコードを呼び出すと書いてあったのですが、呼び出し方をミスっている可能性があります。
|
28
27
|
0. シーン移行時に記録が破棄されているため表示されていない可能性があります。
|
29
28
|
|
29
|
+
###教えてほしいこと
|
30
|
+
0. 自分が入力した文字列が間違っているのであれば正しい文字列を教えてほしいです。
|
31
|
+
0. **自分が思っている原因の候補**の番号リスト2のコードの呼び出しをどのようにすればいいのか教えてほしいです。
|
32
|
+
0. シーンを移行しても記録が保持できるような方法やコードを教えてほしいです。
|
33
|
+
ゲームをリスタートした場合は記録が保持されない方法でお願いします。
|
34
|
+
0. 3番も含めたソースコードの改善案を教えてほしいです。
|
30
|
-
|
35
|
+
0. その他何か問題の解決案がありましたら教えてほしいです。
|
36
|
+
|
31
37
|
### 該当のソースコード
|
32
38
|
タイムアタックとゴール後ランキングを表示するシーンに移行するためのソースコード
|
33
39
|
```c#
|
2
Markdown記法を使ってせいいっぱいわかりやすくしました。
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
NCMBを用いたランキングに記録が反映されません
|
body
CHANGED
@@ -1,47 +1,36 @@
|
|
1
|
-
### 前提
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
https://mbaas.nifcloud.com/doc/current/tutorial/unity_leaderboard.html
|
8
|
-
これらのサイトや
|
9
|
-
https://blog.naichilab.com/entry/webgl-simple-ranking
|
10
|
-
このサイトなどを参考に作っていました。
|
11
|
-
上2つはチュートリアルタイプでそれを自分のゲームに応用するのは自分の実力では難しく、断念しました。
|
12
|
-
それで一番下のサイトで作ってたのですが最後までできたのにはできたのですがタイムが表示されなかったりエラーが起こったりしています。
|
13
|
-
実力不足なだけの質問かもしれませんがどちらのサイトでもまたは別の方法でもよいので実装方法をお教えいただけると嬉しいです。
|
1
|
+
### 前提
|
2
|
+
NCMBを用いてタイムアタックのオンライン上のランキングを作りたいです。
|
3
|
+
[https://blog.naichilab.com/entry/webgl-simple-ranking]
|
4
|
+
↑こちらのサイトを参考にしてタイムアタックのオンライン上でのランキングを作っています。
|
5
|
+
※本文中でのサイトというのはこのサイトのことです。
|
6
|
+
詳しい方どうか回答をよろしくお願いします。
|
14
7
|
|
8
|
+
###実現したいこと
|
9
|
+
ランキングにタイムアタックの記録を反映させたいです。
|
10
|
+
それによってリスタート時にも記録が保持されたままになることは防ぎたいです。
|
15
11
|
|
16
|
-
### 発生している問題
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
var timeScore = new System.TimeSpan(0, 0, 0, 0, millsec);
|
21
|
-
naichilab.RankingLoader.Instance.SendScoreAndShowRanking(timeScore);
|
22
|
-
をアタッチして表示させるようにしていましたがタイムは表示されませんでした。)
|
23
|
-
コードを教えてもらうという質問はあまりよくないようなのですがどうしてもわからないので質問させていただきます。
|
24
|
-
よろしくお願いします。
|
25
|
-
一応どんな感じにしたいのか書いておきます。
|
26
|
-
スタートライン(ゴールラインと同じ)をスタートすると同時にタイムをスタートさせてゴールした瞬間タイムがとまってそれを記録とし、数秒後シーンを切り替えて自分の記録とランキングを表示させ、自分の記録も登録できるみたいな感じにしたいです。
|
27
|
-
```
|
28
|
-
エラーメッセージ
|
29
|
-
NullReferenceException: Object reference not set to an instance of an object
|
30
|
-
NCMB.Internal.NCMBConnection._Connection (System.Object callback) (at Assets/NCMB/Script/NCMBConnection.cs:136)
|
31
|
-
NCMB.Internal.NCMBConnection.Connect (NCMB.HttpClientCallback callback) (at Assets/NCMB/Script/NCMBConnection.cs:127)
|
32
|
-
NCMB.NCMBQuery`1[T].Find (NCMB.NCMBQueryCallback`1[T] callback) (at Assets/NCMB/Script/NCMBQuery.cs:569)
|
33
|
-
NCMB.NCMBQuery`1[T].FindAsync (NCMB.NCMBQueryCallback`1[T] callback) (at Assets/NCMB/Script/NCMBQuery.cs:551)
|
34
|
-
NCMB.Extensions.YieldableNcmbQuery`1[T].FindAsync () (at Assets/naichilab/unity-simple-ranking/Scripts/NcmbYieldableExtensions.cs:25)
|
35
|
-
naichilab.RankingSceneManager+<GetHighScoreAndRankingBoard>d__26.MoveNext () (at Assets/naichilab/unity-simple-ranking/Scripts/RankingSceneManager.cs:91)
|
36
|
-
UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at C:/buildslave/unity/build/Runtime/Export/Coroutines.cs:17)
|
37
|
-
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
|
38
|
-
naichilab.RankingSceneManager:Start() (at Assets/naichilab/unity-simple-ranking/Scripts/RankingSceneManager.cs:77)
|
39
|
-
```
|
12
|
+
### 発生している問題
|
13
|
+
**サイトの通りにランキングシステムを作ったのですが、ゴールした後シーン移行させてランキングを表示させても記録が反映されません。**
|
14
|
+
自分で調べたところシーンを移動すると記録が破棄されるらしく、staticなどを試してみたけどうまくいきません。
|
15
|
+
またstaticを使うとリスタート時にも記録が保存されたままになるらしいというのを知り断念しました。
|
40
16
|
|
17
|
+
下の画像の今回のスコアという部分に記録を反映させたいです。
|
18
|
+

|
19
|
+
|
20
|
+
### 自分が思っている原因の候補
|
21
|
+
0. サイト内でRankingInfoのCustom Format欄にカスタム日時書式指定文字列を用いて文字列を入力するとあってサイトを参考に入力してみましたがその文字列が間違っている可能性があります。
|
22
|
+
〇:〇〇.〇〇(〇分〇〇秒〇〇)という風に表示させたいです。 僕はm:s.ffと書いています。
|
23
|
+
0. `// Type == Time の場合
|
24
|
+
var millsec = 123456;
|
25
|
+
var timeScore = new System.TimeSpan(0, 0, 0, 0, millsec);
|
26
|
+
naichilab.RankingLoader.Instance.SendScoreAndShowRanking(timeScore);`
|
27
|
+
サイトにこのコード呼び出すと書いてあったのですが、呼び出し方をミスっている可能性があります。
|
28
|
+
0. シーン移行時に記録が破棄されているため表示されていない可能性があります。
|
29
|
+
|
30
|
+
すべて間違っている可能性もあります。
|
41
31
|
### 該当のソースコード
|
42
|
-
|
43
|
-
|
32
|
+
タイムアタックとゴール後ランキングを表示するシーンに移行するためのソースコード
|
44
|
-
|
33
|
+
```c#
|
45
34
|
using System.Collections;
|
46
35
|
using System.Collections.Generic;
|
47
36
|
using UnityEngine;
|
@@ -113,34 +102,35 @@
|
|
113
102
|
step_time += Time.deltaTime;
|
114
103
|
|
115
104
|
// 3秒後に画面遷移(scene2へ移動)
|
116
|
-
if (step_time >=
|
105
|
+
if (step_time >= 3.0f)
|
117
106
|
|
118
107
|
SceneManager.LoadScene("Goal");
|
119
|
-
|
120
|
-
// Type == Time の場合
|
121
|
-
var millsec = 123456;
|
122
|
-
var timeScore = new System.TimeSpan(0, 0, 0, 0, millsec);
|
123
|
-
naichilab.RankingLoader.Instance.SendScoreAndShowRanking(timeScore);
|
124
108
|
|
125
109
|
}
|
126
110
|
}
|
127
111
|
}
|
128
112
|
```
|
129
|
-
|
130
|
-
### 試したこと
|
131
|
-
RankingInfoのCustom Format欄にカスタム日時書式指定文字列を用いて文字列を書かないといけないらしいのですがサイトを参考に試してみてもうまくいきませんでした。
|
132
|
-
|
113
|
+
ランキング画面を呼び出すために、ゴール後移行したシーンにGameObjectを作り、そこにアタッチしたソースコード
|
133
|
-
タイム〇:〇〇.〇〇(〇分〇〇秒〇〇)という風に表示させたいです。僕はm:sffと書いています。
|
134
|
-
|
114
|
+
```c#
|
135
|
-
|
115
|
+
using System.Collections;
|
136
|
-
|
116
|
+
using System.Collections.Generic;
|
137
|
-
|
117
|
+
using UnityEngine;
|
138
|
-
|
118
|
+
using NCMB;
|
139
119
|
|
120
|
+
public class RankingSystem : MonoBehaviour
|
121
|
+
{
|
122
|
+
public int step_time { get; internal set; }
|
140
123
|
|
124
|
+
// Use this for initialization
|
125
|
+
void Start()
|
126
|
+
{
|
141
|
-
|
127
|
+
// ↓ ここにサンプルコードを実装 ↓
|
128
|
+
var millsec = 123456;
|
142
|
-
|
129
|
+
var timeScore = new System.TimeSpan(0, 0, 0, 0, millsec);
|
130
|
+
naichilab.RankingLoader.Instance.SendScoreAndShowRanking(timeScore);
|
131
|
+
}
|
132
|
+
}
|
133
|
+
```
|
143
134
|
|
144
|
-
|
135
|
+
###補足情報(FW/ツールのバージョンなど)
|
145
|
-
|
136
|
+
Windowsのunityでバージョンは2018.4.29f1です。
|
146
|
-
回答よろしくお願いします。
|
1
誤字
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
2
|
○タイムアタックのオンライン上のランキングを作りたいです。
|
3
3
|
すみません。とても初心者です。どうしてもわからなくなったので質問させていただきます。
|
4
|
-
今学校でグループでプログラミングの学習をしていて、車のタイムアタックのゲームを作っているのですが、
|
4
|
+
今学校でグループでのプログラミングの学習をしていて、車のタイムアタックのゲームを作っているのですが、友達同士で競争したいなと思ってオンライン上でのランキングを作っていたところ完全に行き詰ってしまいました。 いろいろなサイトを見たりしていろいろ試していたのですがことごとくうまくいきませんでした。 でもタイムアタックなのにランキング機能がないと少し残念なのでできれば実装したいと思っています。 NCMBなどを用いてオンライン上で作りたいなと思ってます。 回答よろしくお願いします。
|
5
5
|
主なサイトとして
|
6
6
|
https://mbaas.nifcloud.com/doc/current/tutorial/unity_highscore.html
|
7
7
|
https://mbaas.nifcloud.com/doc/current/tutorial/unity_leaderboard.html
|