mirror of
https://github.com/wassname/phaser.git
synced 2026-08-11 05:49:23 +08:00
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:
+27
-2
@@ -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);
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user