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

質問編集履歴

4

ほえ

2021/01/07 00:04

投稿

Um_kok
Um_kok

スコア39

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

2021/01/07 00:04

投稿

Um_kok
Um_kok

スコア39

title CHANGED
File without changes
body CHANGED
@@ -19,7 +19,7 @@
19
19
  if (Input.GetKeyDown(KeyCode.Space))
20
20
  {
21
21
  print("スペースを押した");
22
- // StartCoroutine(CarJump());
22
+ StartCoroutine(CarJump());
23
23
  }
24
24
  }
25
25
 

2

せいや

2021/01/06 11:25

投稿

Um_kok
Um_kok

スコア39

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

おういえす

2021/01/06 09:00

投稿

Um_kok
Um_kok

スコア39

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
  なので、お力をお貸しいただけないでしょうか?