2

Using p5.js / p5.play I'm trying to click a moving sprite, but stuck on how to get the moving sprites coords and position. At the moment when I click anywhere on the canvas a random sprite disappears. I've been trying to use mouseX and mouseY. Very new to coding and just trying to learn fundamentals.

let enemy;

let spawnTimer = 0;

function setup() {
  createCanvas(900, 900);
  spritegroup = new Group();
  clickedgroup = new Group();
}

function draw() {
  background(255, 255, 255);

  spritegroup.cull(20);
  clickedgroup.cull(20);
  spawnSprites();
  spriteClicked();
  drawSprites();
}

function spawnSprites() {
  if (spawnTimer === 60) {
    for (var i = 0; i < 2; i++) {
      var angle = random(360);
      var x = random(50, 850);
      var y = -5 * sin(radians(angle));

      createEnemy(3, x, y);
      spawnTimer = 0;
    }
  }

  spawnTimer++;
}

function createEnemy(type, x, y) {
  enemy = createSprite(x, y);
  enemy[floor(random(0, 4))];

  enemy.setSpeed(3.5 - type / 2, 90);
  spritegroup.add(enemy);
  enemy.setCollider("rectangle", 0, 0, 100, 100);
  enemy.debug = true;

  return enemy;
}

function spriteClicked() {
  if (mouseIsPressed == true)
    if (
      (mouseX > enemy.position.x,
      enemy.position.y && mouseY > enemy.position.x,
      enemy.position.y)
    ) {
      enemy.remove();
    }
}

ggorlen
  • 44,755
  • 7
  • 76
  • 106

1 Answers1

1

The easiest way is to use sprite.mouse :)

https://p5play.org/learn/input_devices.html?page=3

quinton-ashley
  • 133
  • 2
  • 10