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

回答編集履歴

2

ムービーの引用リンクを追加

2017/10/08 01:32

投稿

Bongo
Bongo

スコア10816

answer CHANGED
@@ -1,8 +1,8 @@
1
1
  ムービーを全部しっかり視聴したわけではないので不十分かもしれませんが、気になるのはこの辺でしょうか。
2
2
 
3
- - 右移動や下移動のキー判定が[GetKey](https://docs.unity3d.com/ScriptReference/Input.GetKey.html)ではなく[GetKeyDown](https://docs.unity3d.com/ScriptReference/Input.GetKeyDown.html)になっている。GetKeyDownはそのキーを押し下げた最初の瞬間しかtrueにならないはずなので、押しっぱなしが無視されているのではないか?回転もGetKeyDownだが、こちらはこの方が「キーを連打するとその数だけ回転する」ような動きになるはずなので妥当のように思われる。
3
+ - 右移動や下移動のキー判定が[GetKey](https://docs.unity3d.com/ScriptReference/Input.GetKey.html)ではなく[GetKeyDown](https://docs.unity3d.com/ScriptReference/Input.GetKeyDown.html)になっている(ムービーでは[この辺](https://youtu.be/Myy6xOi7Efg?t=44)で修正している)。GetKeyDownはそのキーを押し下げた最初の瞬間しかtrueにならないはずなので、押しっぱなしが無視されているのではないか?回転もGetKeyDownだが、こちらはこの方が「キーを連打するとその数だけ回転する」ような動きになるはずなので妥当のように思われる。
4
4
 
5
- - 右移動部分に```horizontalTimer = 0;```を追加していない([ムービーのこの部分](https://youtu.be/Myy6xOi7Efg?t=475))。水平移動タイマーがリセットされないので、(GetKeyDownをGetKeyにした上で)右キーを押しっぱなしにするとすごいスピードで右に飛んでいくのではないか?
5
+ - 右移動部分に```horizontalTimer = 0;```を追加していない(ムービーの[この](https://youtu.be/Myy6xOi7Efg?t=475)で修正を加えている)。水平移動タイマーがリセットされないので、(GetKeyDownをGetKeyにした上で)右キーを押しっぱなしにするとすごいスピードで右に飛んでいくのではないか?
6
6
  - 下移動部分のタイマー判定条件で```continuosHorizontalSpeed```を使っている。せっかく垂直移動用に```continuosVerticalSpeed```があるのだから、こちらと比較するのがよいのではないか?
7
7
 
8
8
  さしあたり、これらを修正して動きを確認してみてはいかがでしょう。さらにムービーの後半では、

1

誤字を修正

2017/10/08 01:32

投稿

Bongo
Bongo

スコア10816

answer CHANGED
@@ -1,4 +1,4 @@
1
- ムービーを全部しっかり聴したわけではないので不十分かもしれませんが、気になるのはこの辺でしょうか。
1
+ ムービーを全部しっかり聴したわけではないので不十分かもしれませんが、気になるのはこの辺でしょうか。
2
2
 
3
3
  - 右移動や下移動のキー判定が[GetKey](https://docs.unity3d.com/ScriptReference/Input.GetKey.html)ではなく[GetKeyDown](https://docs.unity3d.com/ScriptReference/Input.GetKeyDown.html)になっている。GetKeyDownはそのキーを押し下げた最初の瞬間しかtrueにならないはずなので、押しっぱなしが無視されているのではないか?回転もGetKeyDownだが、こちらはこの方が「キーを連打するとその数だけ回転する」ような動きになるはずなので妥当のように思われる。
4
4