Xin tha thứ cho tiêu đề hài hước. Tôi đã tạo ra một bản demo đồ họa nhỏ gồm 200 quả bóng nảy và va chạm, cả hai vào tường và nhau. Bạn có thể thấy những gì tôi hiện đang có ở đây: http://www.exeneva.com/html5/mult MônBallsBouncingAndColliding /
Vấn đề là bất cứ khi nào chúng va chạm với nhau, chúng sẽ biến mất. Tôi cung không chăc tại sao. Ai đó có thể xem và giúp tôi ra?
CẬP NHẬT: Rõ ràng mảng bóng có các quả bóng có tọa độ NaN. Dưới đây là mã nơi tôi đẩy bóng đến mảng. Tôi không hoàn toàn chắc chắn làm thế nào tọa độ nhận được NaN.
// Variables
var numBalls = 200; // number of balls
var maxSize = 15;
var minSize = 5;
var maxSpeed = maxSize + 5;
var balls = new Array();
var tempBall;
var tempX;
var tempY;
var tempSpeed;
var tempAngle;
var tempRadius;
var tempRadians;
var tempVelocityX;
var tempVelocityY;
// Find spots to place each ball so none start on top of each other
for (var i = 0; i < numBalls; i += 1) {
tempRadius = 5;
var placeOK = false;
while (!placeOK) {
tempX = tempRadius * 3 + (Math.floor(Math.random() * theCanvas.width) - tempRadius * 3);
tempY = tempRadius * 3 + (Math.floor(Math.random() * theCanvas.height) - tempRadius * 3);
tempSpeed = 4;
tempAngle = Math.floor(Math.random() * 360);
tempRadians = tempAngle * Math.PI/180;
tempVelocityX = Math.cos(tempRadians) * tempSpeed;
tempVelocityY = Math.sin(tempRadians) * tempSpeed;
tempBall = {
x: tempX,
y: tempY,
nextX: tempX,
nextY: tempY,
radius: tempRadius,
speed: tempSpeed,
angle: tempAngle,
velocityX: tempVelocityX,
velocityY: tempVelocityY,
mass: tempRadius
};
placeOK = canStartHere(tempBall);
}
balls.push(tempBall);
}