質問編集履歴

1

問題点の変更

2018/04/08 07:44

投稿

yukari1218
yukari1218

スコア8

test CHANGED
@@ -1 +1 @@
1
- クリア時の文字が表示されない
1
+ クリア時の文字が画面外に
test CHANGED
@@ -4,158 +4,10 @@
4
4
 
5
5
  それに従ってUnityで簡単なゲームを作成しているのですが
6
6
 
7
+ 3章のクリア判定でFall In hole!という文字を表示させるのですが、なぜかボールが入っている箱の外に表示されていて![イメージ説明](5cabd3727d5e7b7b714654ac5517fb50.png)
7
8
 
9
+ さらに最初の文字の部分が途切れてしまっているのです。
8
10
 
9
- 3章のクリアの判定でクリア時にFall in hole!という文字を表示しのですが表示れません
11
+ 私はiphone5のアスペクト比でしよう思っていたのですが、それもこれではできそうになそうです
10
12
 
11
- ```
12
-
13
- public class Hole : MonoBehaviour {
14
-
15
-
16
-
17
- bool fallIn;
18
-
19
-
20
-
21
- //どのボールを吸い寄せるかをタグで指定
22
-
23
- public string activeTag; //反応するタグのパラメータ...このHoleオブジェクトがどのタグを持つBallオブジェクトを吸い寄せるかをInspectorビューから設定する
24
-
25
-
26
-
27
- //ボールが入っているかを返す
28
-
29
- public bool IsFallIn()
30
-
31
- {
32
-
33
- return fallIn; //ホールの状態の取得。fallInフラグの値を外部から参照できるようにする。
34
-
35
- }
36
-
37
-
38
-
39
- void OnTriggerEnter(Collider other) //ボールがコライダーに入った瞬間。引数で渡されるオブジェクトのタグにより、同じ色のボールならばfallInフラグのOn,Offを行います。
40
-
41
- {
42
-
43
- if (other.gameObject.tag == activeTag)
44
-
45
- {
46
-
47
- fallIn = true;
48
-
49
- }
50
-
51
- }
52
-
53
-
54
-
55
- void OnTriggerExit(Collider other) //ボールがコライダーから出た瞬間
56
-
57
- {
58
-
59
- if(other.gameObject.tag == activeTag)
60
-
61
- {
62
-
63
- fallIn = false;
64
-
65
- }
66
-
67
- }
68
-
69
- void OnTriggerStay(Collider other) //OnTriggerStay関数は、オブジェクト同士のコリジョンが発生しているときに毎フレーム呼び出される
70
-
71
- {
72
-
73
- //コライダに触れているオブジェクトのRigidbodyコンポーネントを取得
74
-
75
- Rigidbody r = other.gameObject.GetComponent<Rigidbody>(); //Rigidbodyコンポーネントの取得...すべてのコンポーネントはgameObujectパラメータでアタッチ先のGameObjectの参照を取得できる
76
-
77
- //GetComponent関数でBallオブジェクトのRigidbodyコンポーネントを取得する
78
-
79
-
80
-
81
- //ボールがどの方向にあるかを計算
82
-
83
- Vector3 direction = transform.position - other.gameObject.transform.position;
84
-
85
- direction.Normalize(); //Vector3のNormalize関数はnormalizedパラメータと違い、Vector3の値そのものが書き換わります
86
-
87
-
88
-
89
- //タグに応じてボールに力を加える
90
-
91
- if (other.gameObject.tag == activeTag)
92
-
93
- {
94
-
95
- //中心地点でボール止めるめ速度を減速させ
13
+ この文字の位置自体移動しいのですが、わか方回答お願いします。
96
-
97
- r.velocity *= 0.9f;
98
-
99
-
100
-
101
- r.AddForce(direction * r.mass * 20.0f); //massパラメータにより重さを取得し、それに応じた力を加える。
102
-
103
- } else
104
-
105
- {
106
-
107
- r.AddForce(-direction * r.mass * 80.0f);
108
-
109
- }
110
-
111
- }
112
-
113
- }
114
-
115
- ```
116
-
117
- ```ここに言語を入力
118
-
119
- public class FallInChecker : MonoBehaviour {
120
-
121
-
122
-
123
- public Hole red;
124
-
125
- public Hole blue;
126
-
127
- public Hole green;
128
-
129
-
130
-
131
- void OnGUI()
132
-
133
- {
134
-
135
- string label = " ";
136
-
137
-
138
-
139
- //すべてのボールが入ったらラベルを表示
140
-
141
- if(red.IsFallIn() && blue.IsFallIn() && green.IsFallIn()) //IsFallen関数で正しくボールが入っているかどうかを監視。条件がそろうとGUI.Label関数で文字を表示する
142
-
143
- {
144
-
145
- label = "Fall in hole!";
146
-
147
- }
148
-
149
- GUI.Label(new Rect(0, 0, 100, 30), label); //GUI関数(毎フレームごと)を用いて、クリアした旨の文字表示を行います
150
-
151
- }
152
-
153
- }
154
-
155
- ```
156
-
157
- 本に書いてある通りにしたのですが,,,
158
-
159
- ボールなどが吸い寄せられているようなので3-5まではいいとおもうのですが、3-6からどこか間違っているのでしょうか。
160
-
161
- 回答お願いします