teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

追加説明、考えたこと

2016/09/21 02:18

投稿

Hutax
Hutax

スコア32

title CHANGED
File without changes
body CHANGED
@@ -70,7 +70,7 @@
70
70
 
71
71
  text.text ="合計数 " + sum.ToString() + "問"+ "○の数" + maru.ToString() + "問" + "×の数 " + batu.ToString() + "問";
72
72
 
73
- // スライダーを取得する
73
+ // スライダーのバーの値指定 しかし、初めに表示されたボタンのスライダーしか値は変わらない
74
74
  _slider = GameObject.Find("Slider").GetComponent<Slider>();
75
75
  graph = 28;//ゲージの値を設定
76
76
  _slider.value = graph;
@@ -98,8 +98,9 @@
98
98
  ###エラー、困っていること
99
99
  Graph.csの表示では、しっかりとJSONから取得したデータをボタン上にテキストとして出力できています。
100
100
  試しにスライダーのゲージの値を最大値30のうち、28に設定したとこる、作成されたボタン2つの内、初めのボタンだけがゲージの値が28であり、もう片方の値は何変わりませんでした。
101
+ 調べたところ、子オブジェクトのインスタンス化?をする必要があるのではと考えましたが、いまいち良く分かりません…
101
102
 
102
- どのようなコードを用いれば、動的に作成したボタンに、JSONから取得した値をに反映することができるのでしょうか。
103
+ どのようなコードを用いれば、動的に作成したボタンに、JSONから取得した値をスライダのバーの値に反映することができるのでしょうか。
103
104
 
104
105
 
105
106
 

3

試したこと、考えたことの追加

2016/09/21 02:18

投稿

Hutax
Hutax

スコア32

title CHANGED
@@ -1,1 +1,1 @@
1
- Unity JSONの値を用いグラフ作成
1
+ Unity Sliderを用いグラフ作成
body CHANGED
@@ -11,13 +11,12 @@
11
11
  - ○の数
12
12
  を一本の棒グラフで表示(図1)することができるようにしたいと考えています。
13
13
 
14
-
15
14
  ###該当のソースコード
16
15
  グラフにしたいJSONデータ
17
16
  ```
18
17
  [
19
- {"sum":"30","maru":"16","batu":"14"},
18
+ {"sum":30,"maru":"16","batu":"14"},
20
- {"sum":"27","maru":"22","batu":"5"}
19
+ {"sum":27,"maru":"22","batu":"5"}
21
20
  ]
22
21
  ```
23
22
 
@@ -32,6 +31,10 @@
32
31
 
33
32
  public class Graph : MonoBehaviour
34
33
  {
34
+
35
+ Slider _slider;
36
+ int graph = 0;
37
+
35
38
  [SerializeField]
36
39
  RectTransform prefab = null;
37
40
 
@@ -58,14 +61,19 @@
58
61
  foreach (IDictionary list in List)
59
62
  {
60
63
  long sum = (long)list["sum"];
61
- long maru = (long)list["maru"];
64
+ string maru = (string)list["maru"];
62
- long batu = (long)list["batu"];
65
+ string batu = (string)list["batu"];
63
66
 
64
67
  var item = GameObject.Instantiate(prefab) as RectTransform;
65
68
  item.SetParent(transform, false);
66
69
  var text = item.GetComponentInChildren<Text>();
67
70
 
68
71
  text.text ="合計数 " + sum.ToString() + "問"+ "○の数" + maru.ToString() + "問" + "×の数 " + batu.ToString() + "問";
72
+
73
+ // スライダーを取得する
74
+ _slider = GameObject.Find("Slider").GetComponent<Slider>();
75
+ graph = 28;//ゲージの値を設定
76
+ _slider.value = graph;
69
77
  }
70
78
  }
71
79
  }
@@ -74,21 +82,27 @@
74
82
 
75
83
  ```
76
84
 
77
- ###試したこと
85
+ ###試したこと 考えたこと
78
86
  Unityで、棒グラフを作成するには、[【Unity】縦棒グラフ作ってみる – LineRender編](http://www.en-do.net/blog/2016/05/677/)
79
87
  のような記事がありましたが、実現したい、JSONを用いてグラフを作成しているようなサイトが見つからず、行き詰っています。
80
88
 
81
89
 
82
- Graph.csでは、取得したJSONデータから動的に作成したボタン上にTextとして表示するスクリプトですが、今回はJSONデータからグラフを表示することがメインですので、グラフの表示の仕方をご教授お願いできますでしょうか。
83
- もし可能であれば、ボタン上にグラフを表示する方法もご教授お願いできますでしょうか。
84
-
85
- 考えたことは、HPゲージでよくみられるスライダーを用い棒グラフです。
90
+ そこで考えたことは、HPゲージでよくみられるスライダーを用い棒グラフを作成することです。
86
91
  ![グラフ図1](bcbb41f3ca0ba305453b2fd2b25aff40.png)図1
87
92
  このように縦にグラフを重ねて表示したいと考えました。
88
93
  図1の表示例では、○と×の合計数が30で○の数が16という表示です。
89
- スライダーを用いた場合、JSONから取得した値を用いて動的にスライダーを作成することはできますでしょうか。
90
94
 
95
+ Graph.csでは、取得したJSONデータから動的に作成したボタン上にTextとして表示するスクリプトで、今回はあらかじめ、ボタンの子オブジェクトとしてスライダーをコンポーネントし、プレハブとしています。
91
96
 
97
+
98
+ ###エラー、困っていること
99
+ Graph.csの表示では、しっかりとJSONから取得したデータをボタン上にテキストとして出力できています。
100
+ 試しにスライダーのゲージの値を最大値30のうち、28に設定したとこる、作成されたボタン2つの内、初めのボタンだけがゲージの値が28であり、もう片方の値は何変わりませんでした。
101
+
102
+ どのようなコードを用いれば、動的に作成したボタンに、JSONから取得した値をゲージに反映することができるのでしょうか。
103
+
104
+
105
+
92
106
  ###補足情報
93
107
  まだプログラミングを始めてまだ間もなく、Unityやphpの知識、理解が追い付いていない点等あり、また拙い文章ではございますが、何卒お力をお借りできませんでしょうか。
94
108
  よろしくお願い致します。

2

誤字

2016/09/20 12:54

投稿

Hutax
Hutax

スコア32

title CHANGED
File without changes
body CHANGED
@@ -84,9 +84,9 @@
84
84
 
85
85
  考えたことは、HPゲージでよくみられるスライダーを用いた棒グラフです。
86
86
  ![グラフ図1](bcbb41f3ca0ba305453b2fd2b25aff40.png)図1
87
- このように縦にグラフを重ねて表示したいと考えました。
87
+ このように縦にグラフを重ねて表示したいと考えました。
88
88
  図1の表示例では、○と×の合計数が30で○の数が16という表示です。
89
- スライダーを用いた場合、JSONから取得した値を用いて動的にスライダーを作成することはできますでしょうか。
89
+ スライダーを用いた場合、JSONから取得した値を用いて動的にスライダーを作成することはできますでしょうか。
90
90
 
91
91
 
92
92
  ###補足情報

1

棒グラフの表示の仕方の変更

2016/09/20 10:43

投稿

Hutax
Hutax

スコア32

title CHANGED
File without changes
body CHANGED
@@ -9,8 +9,7 @@
9
9
  作成したい棒グラフの概要は、今回のJSONデータでいうと、
10
10
  - ○の数と×の数の合計数
11
11
  - ○の数
12
- - ×の数
13
- の3本横に並べて比べることができるようにしたいと考えています。
12
+ 一本の棒グラフで表示(図1)することができるようにしたいと考えています。
14
13
 
15
14
 
16
15
  ###該当のソースコード
@@ -83,9 +82,13 @@
83
82
  Graph.csでは、取得したJSONデータから動的に作成したボタン上にTextとして表示するスクリプトですが、今回はJSONデータからグラフを表示することがメインですので、グラフの表示の仕方をご教授お願いできますでしょうか。
84
83
  もし可能であれば、ボタン上にグラフを表示する方法もご教授お願いできますでしょうか。
85
84
 
85
+ 考えたことは、HPゲージでよくみられるスライダーを用いた棒グラフです。
86
+ ![グラフ図1](bcbb41f3ca0ba305453b2fd2b25aff40.png)図1
87
+ このように縦にグラフを重ねるて表示したいと考えました。
88
+ 図1の表示例では、○と×の合計数が30で○の数が16という表示です。
89
+ スライダーを用いた場合、JSONから取得した値を用いて動的にスライダーを作成することはできますかでしょうか。
86
90
 
87
91
 
88
-
89
92
  ###補足情報
90
93
  まだプログラミングを始めてまだ間もなく、Unityやphpの知識、理解が追い付いていない点等あり、また拙い文章ではございますが、何卒お力をお借りできませんでしょうか。
91
94
  よろしくお願い致します。