2017-08-27 81 views
0

我想計算一個3 point intersection爲使用JavaScript和它的庫p5.js製作的pong遊戲。P5.JS - Calulcate 3點交點

我需要計算球是否碰到槳。 總體思路:
var MaxTopPos = player.y;
var MaxBottomPos = player.y + player.height;其中player.height = 100
當玩家=槳。另一個槳將是電腦。

起初我想也許我可以使用dist(this.x, this.y, player.x, ...)
然後我被player.y抓到了。
this.xthis.y是球的位置,player.x是從屏幕左側開始的槳的位置。

我的問題是我怎麼可以採取MaxTopPosMaxBottomPos並檢查球擊中或在邊緣的某處?所以我可以計算出更多的東西,我發現從this thread。我想要做的是檢查球是否碰到槳,如果它確實發送了相反的方向。

這裏有一個視覺:
enter image description here

回答

1

只是把球爲一個矩形,然後用球的邊界矩形和槳之間的矩形,矩形的碰撞檢測。

無恥自我推銷:我在Processing here上編寫了一個關於碰撞檢測的教程,但P5.js和JavaScript中的基本知識都是一樣的。

基本上,你可以這樣做:

//evaluates to true if rectOne and rectTwo are colliding 
if(rectOneRight > rectTwoLeft && rectOneLeft < rectTwoRight && rectOneBottom > rectTwoTop && rectOneTop < rectTwoBottom){ 
+0

很抱歉,但沒有工作。我做了如果((player.x + player.width)> ball.x && player.x <(ball.x + ball.width)){this.speed = -20(reversed)} –

+0

如果球在填充的中心。就像在左邊和右邊的點之間,球的速度應該相反。 –

+0

也我確保球是與槳一樣的寬度。 –