Lo que quiero es que cuando el jugador se superponga con la moneda, la moneda desaparezca, pero no por alguna razón y no sé por qué no se llama a la función cutcoin .
function create() { var healthGroup = this.physics.add.staticGroup({ key: 'ycoin', frameQuantity: 10, immovable: true }); var children = healthGroup.getChildren(); for (var i = 0; i < children.length; i++) { var x = Phaser.Math.Between(50, 750); var y = Phaser.Math.Between(50, 550); children[i].setPosition(x, y); } healthGroup.refresh(); moveCoin = this.add.sprite(60, 340, "ycoin").setInteractive(); this.input.keyboard.on('keydown-A', () => { moveCoin.allname = "green" diceNumber = 1 moveCoinStep() setTimeout(() => { this.physics.add.overlap(moveCoin,healthGroup, cutcoin,null,this) }, 1000); }) } function cutcoin(movecoin1, healthGroup) { console.log('++++++', moveCoin, healthGroup) }No agregues esta línea
this.physics.add.overlap(moveCoin,healthGroup,cutcoin,null,this)dentro del evento del teclado o en el tiempo de espera. La función de superposición solo se activa cuando la superposición no se produce en la definición. así que escriba la línea de superposición adicional fuera del evento del teclado. Y verifique la consola para ver si hay algún error.