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

質問編集履歴

3

中身の修正

2021/03/11 08:24

投稿

BRAK
BRAK

スコア98

title CHANGED
File without changes
body CHANGED
@@ -55,8 +55,8 @@
55
55
  auto length = sqrt(vecX * vecX + vecY + vecY);
56
56
 
57
57
  //正規化された移動量
58
- auto nomalX = length / vecX;
58
+ auto nomalX = vecX / length;
59
- auto nomalY = length / vecY;
59
+ auto nomalY = vecY / length;
60
60
 
61
61
  //正規化した速度を代入
62
62
  x += nomalX * (speed * frameTime);

2

中身の修正

2021/03/11 08:24

投稿

BRAK
BRAK

スコア98

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,7 @@
1
1
  **C++の正規化について**
2
2
 
3
3
  現在、ブロックくずしを作っており、弾の速度からの斜め移動の正規化の計算方法がわかりません。
4
-
4
+ これであっているのでしょうか
5
5
  仕様ライブラリはopenSiv3Dです。
6
6
 
7
7
  ```C++
@@ -60,7 +60,7 @@
60
60
 
61
61
  //正規化した速度を代入
62
62
  x += nomalX * (speed * frameTime);
63
- y += nomalX * (speed * frameTime);
63
+ y += nomalY * (speed * frameTime);
64
64
 
65
65
  if (x >= 800 - radius || x <= radius) vecX *= -1;
66
66
  if (y >= 600 - radius || y <= radius) vecY *= -1;
@@ -96,5 +96,4 @@
96
96
  ball.draw();
97
97
  }
98
98
  ```
99
- void Ball::Update()の関数です。
99
+ void Ball::Update()の関数です。
100
- 弾の跳ね返りの時に逆の方向に跳ね返りが起こっているので正規化が何かおかしいのかと思っています。

1

中身の変更

2021/03/11 07:46

投稿

BRAK
BRAK

スコア98

title CHANGED
File without changes
body CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  現在、ブロックくずしを作っており、弾の速度からの斜め移動の正規化の計算方法がわかりません。
4
4
 
5
+ 仕様ライブラリはopenSiv3Dです。
6
+
5
7
  ```C++
6
8
  コード
7
9
  h