回答編集履歴

3

ソースに余計なところがあったので削除

2018/05/20 09:55

投稿

fiveHundred
fiveHundred

スコア9774

test CHANGED
@@ -23,16 +23,6 @@
23
23
  // Spaceが押されたかどうか
24
24
 
25
25
  bool spaceKeyDown = false;
26
-
27
-
28
-
29
- void Start()
30
-
31
- {
32
-
33
- rigidbody = GetComponent<Rigidbody>();
34
-
35
- }
36
26
 
37
27
 
38
28
 

2

100f→jumpに修正

2018/05/20 09:54

投稿

fiveHundred
fiveHundred

スコア9774

test CHANGED
@@ -60,7 +60,7 @@
60
60
 
61
61
  {
62
62
 
63
- rigidbody.AddForce(transform.up * 100f);
63
+ rigidbody.AddForce(transform.up * jump);
64
64
 
65
65
  count -= 1;
66
66
 

1

判定を当たり判定に変更

2018/05/20 09:46

投稿

fiveHundred
fiveHundred

スコア9774

test CHANGED
@@ -2,13 +2,15 @@
2
2
 
3
3
 
4
4
 
5
- また、質問と直接関係ないですが、``AddForce(~);``のような物理関係の処理は基本的に``FixedUpdate()``内で行います。
5
+ また、質問と直接関係ないですが、``AddForce(~);``のような物理関係の処理は基本的に``FixedUpdate()``内で行います。
6
6
 
7
7
  この場合、``FixedUpdate()``内でInputクラスの処理を行えない点にも注意してください。
8
8
 
9
9
 
10
10
 
11
11
  これらを踏まえて、修正すると以下のようになります。
12
+
13
+ (※修正:判定を当たり判定に変更しました)
12
14
 
13
15
 
14
16
 
@@ -21,6 +23,16 @@
21
23
  // Spaceが押されたかどうか
22
24
 
23
25
  bool spaceKeyDown = false;
26
+
27
+
28
+
29
+ void Start()
30
+
31
+ {
32
+
33
+ rigidbody = GetComponent<Rigidbody>();
34
+
35
+ }
24
36
 
25
37
 
26
38
 
@@ -48,25 +60,29 @@
48
60
 
49
61
  {
50
62
 
51
- rigidbody.AddForce(transform.up * jump);
63
+ rigidbody.AddForce(transform.up * 100f);
52
64
 
53
65
  count -= 1;
54
-
55
- }
56
-
57
- // 押された直後は比較しないよう、elseを付ける
58
-
59
- else if (rigidbody.velocity.y == 0)
60
-
61
- {
62
-
63
- count = 1;
64
66
 
65
67
  }
66
68
 
67
69
 
68
70
 
69
71
  spaceKeyDown = false;
72
+
73
+ }
74
+
75
+
76
+
77
+ // 何かにぶつかったときに実行される関数
78
+
79
+ void OnCollisionEnter(Collision collision)
80
+
81
+ {
82
+
83
+ // ここではそのままですが、必要に応じて「ぶつかったのが床であるとき」のような処理を入れてください
84
+
85
+ count = 1;
70
86
 
71
87
  }
72
88