Patched the QuadTree, now working a whole lot better but am worried it's still working out too many collisions.

This commit is contained in:
Richard Davey
2013-09-04 04:54:43 +01:00
parent 3f3b6bfd35
commit b2263c16c6
3 changed files with 84 additions and 26 deletions
+27 -2
View File
@@ -20,15 +20,20 @@
}
var ship;
var total;
var aliens;
function create() {
for (var i = 0; i < 50; i++)
aliens = [];
for (var i = 0; i < 100; i++)
{
var s = game.add.sprite(game.world.randomX, game.world.randomY, 'baddie');
s.body.collideWorldBounds = true;
s.body.bounce.setTo(1, 1);
s.body.velocity.setTo(50 + Math.random() * 50, 50 + Math.random() * 50);
s.body.velocity.setTo(10 + Math.random() * 10, 10 + Math.random() * 10);
aliens.push(s);
}
ship = game.add.sprite(400, 400, 'ship');
@@ -39,6 +44,18 @@
function update() {
for (var i = 0; i < aliens.length; i++)
{
aliens[i].alpha = 0.3;
}
total = game.physics.quadTree.retrieve(ship);
for (var i = 0; i < total.length; i++)
{
total[i].sprite.alpha = 1;
}
if (game.input.keyboard.isDown(Phaser.Keyboard.LEFT))
{
ship.body.velocity.x -= 2;
@@ -61,6 +78,14 @@
function render() {
for (var i = 0; i < aliens.length; i++)
{
game.debug.renderRectangle(aliens[i].bounds);
}
game.debug.renderText(total.length, 32, 32);
game.debug.renderQuadTree(game.physics.quadTree);
game.debug.renderRectangle(ship);
}