質問編集履歴
4
ほえ
title
CHANGED
File without changes
|
body
CHANGED
@@ -60,4 +60,61 @@
|
|
60
60
|
スペースを押してみても、動きませんが、コンソールにはスペースを押したしかでません。
|
61
61
|
コードが見にくいのですが、あまりいいやり方ではないです。うまいコードが欠けていないのはわかっております。
|
62
62
|
なので、お力をお貸しいただけないでしょうか?
|
63
|
-
解説やコメントなど加えてくださるとありがたいです。
|
63
|
+
解説やコメントなど加えてくださるとありがたいです。
|
64
|
+
|
65
|
+
|
66
|
+
|
67
|
+
ーーーーーーーーーーーーーーー 修正後---------------------------------
|
68
|
+
```C#
|
69
|
+
|
70
|
+
using System.Collections;
|
71
|
+
using System.Collections.Generic;
|
72
|
+
using UnityEngine;
|
73
|
+
|
74
|
+
public class CarContrl : MonoBehaviour
|
75
|
+
{
|
76
|
+
|
77
|
+
|
78
|
+
// 車のモデル 注意 子オブジェクトです。
|
79
|
+
[SerializeField] private Transform modelPos;
|
80
|
+
void Update()
|
81
|
+
{
|
82
|
+
if (Input.GetKeyDown(KeyCode.Space))
|
83
|
+
{
|
84
|
+
print("スペースを押した");
|
85
|
+
StartCoroutine(CarJump());
|
86
|
+
}
|
87
|
+
}
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
}
|
92
|
+
/// <summary>
|
93
|
+
/// 車をジャンプする
|
94
|
+
/// </summary>
|
95
|
+
private IEnumerator CarJump()
|
96
|
+
{
|
97
|
+
print("ジャンプ");
|
98
|
+
var CarJumpPos = 0;
|
99
|
+
var CarJumpMax = 50;
|
100
|
+
var CarJumpPower = 2;
|
101
|
+
|
102
|
+
while (CarJumpPos < CarJumpMax)
|
103
|
+
{
|
104
|
+
CarJumpPos += CarJumpPower;
|
105
|
+
modelPos.transform.localPosition
|
106
|
+
+= new Vector3(transform.localPosition.x, transform.localPosition.y + CarJumpPower, transform.localPosition.z);
|
107
|
+
print("ジャンプしている");
|
108
|
+
yield return null;
|
109
|
+
}
|
110
|
+
|
111
|
+
while (CarJumpPos > 0)
|
112
|
+
{
|
113
|
+
CarJumpPos -= CarJumpPower;
|
114
|
+
modelPos.transform.localPosition -= new Vector3(transform.localPosition.x, transform.localPosition.y + CarJumpPower, transform.localPosition.z);
|
115
|
+
}
|
116
|
+
}
|
117
|
+
}
|
118
|
+
```
|
119
|
+
これで動くようにはなったのですが、Z軸方向に飛んでしまいます。
|
120
|
+
何故でしょうか?ご意見ください。他にいいコードの書き方を教えてくだされば幸いです。
|
3
title
CHANGED
File without changes
|
body
CHANGED
@@ -19,7 +19,7 @@
|
|
19
19
|
if (Input.GetKeyDown(KeyCode.Space))
|
20
20
|
{
|
21
21
|
print("スペースを押した");
|
22
|
-
|
22
|
+
StartCoroutine(CarJump());
|
23
23
|
}
|
24
24
|
}
|
25
25
|
|
2
せいや
title
CHANGED
File without changes
|
body
CHANGED
@@ -57,7 +57,7 @@
|
|
57
57
|
ジャンプするのは、コルーチンで実行しております。
|
58
58
|
コードの通り、スペースを押したら、一定値まで上がり、そのあと0に戻るというものです。
|
59
59
|
**注意なのですが、フィールドの modelPos というのは子オブジェクトなためこう言うコードにしております。(親に車を動かすコードが書いてあります。)**
|
60
|
-
スペースを押してみても、動きませんが、コンソールには
|
60
|
+
スペースを押してみても、動きませんが、コンソールにはスペースを押したしかでません。
|
61
61
|
コードが見にくいのですが、あまりいいやり方ではないです。うまいコードが欠けていないのはわかっております。
|
62
62
|
なので、お力をお貸しいただけないでしょうか?
|
63
63
|
解説やコメントなど加えてくださるとありがたいです。
|
1
おういえす
title
CHANGED
File without changes
|
body
CHANGED
@@ -56,7 +56,7 @@
|
|
56
56
|
**やった事**
|
57
57
|
ジャンプするのは、コルーチンで実行しております。
|
58
58
|
コードの通り、スペースを押したら、一定値まで上がり、そのあと0に戻るというものです。
|
59
|
-
注意なのですが、フィールドの modelPos というのは子オブジェクトなためこう言うコードにしております。(親に車を動かすコードが書いてあります。
|
59
|
+
**注意なのですが、フィールドの modelPos というのは子オブジェクトなためこう言うコードにしております。(親に車を動かすコードが書いてあります。)**
|
60
60
|
スペースを押してみても、動きませんが、コンソールにはジャンプしている、と出ます。
|
61
61
|
コードが見にくいのですが、あまりいいやり方ではないです。うまいコードが欠けていないのはわかっております。
|
62
62
|
なので、お力をお貸しいただけないでしょうか?
|