【週刊ドットインストール】 考える力を養うための新クラス『データで学ぶアルゴリズム』を256timesでリリース!
動画内でのパドルとボールの衝突判定のコード(以下)
this.checkCollision = function(paddle) { if ((this.y + this.r > paddle.y && this.y + this.r < paddle.y + paddle.h) && (this.x > paddle.x - paddle.w / 2 && this.x < paddle.x + paddle.w / 2)) { this.vy *= -1; } }
意味は分かるのですが、if文の中の最初の()を
if ((this.y + this.r === paddle.y)
としてはダメなのでしょうか?(接触の瞬間) 実際に書き換えてみると、衝突が起こらずにボールがパドルを素通りしてしまいます。
なぜボールが反転しないのでしょうか。 ボールの移動速度に判定計算が間に合わないのでしょうか?
ご教示よろしくお願いします。
ドットインストールは、3分動画でマスターできるプログラミング学習サービスです。
3分で気軽に学習でき、スマートフォンからも視聴可能です。ホームページやWebサービスの制作を通して、実践的にプログラミングを学べます。
他にも、ゲーム制作やデータ分析・機械学習・AIに使われる言語まで幅広くカバー。学びたい分野のレッスンがきっと見つかります。
この回答を見るにはプレミアムプランへの登録が必要です
動画内でのパドルとボールの衝突判定のコード(以下)
意味は分かるのですが、if文の中の最初の()を
としてはダメなのでしょうか?(接触の瞬間)
実際に書き換えてみると、衝突が起こらずにボールがパドルを素通りしてしまいます。
なぜボールが反転しないのでしょうか。
ボールの移動速度に判定計算が間に合わないのでしょうか?
ご教示よろしくお願いします。