我正在制作一个游戏,在这个游戏中,我想当玩家与硬币重叠时,硬币会消失,但这不是出于某种原因,我不知道为什么。当我制作地图时,我已经尝试了很多方法甚至将硬币放入瓷砖中,但即便如此,它仍然无法正常工作。
有人可以帮帮我吗?
select TOP 2 Customer_id,Customer_Name from Customer
order by Customer_id
答案 0 :(得分:0)
您的代码中存在三个问题。首先,变量的命名令人困惑。您正在创建一个论坛并将其分配给coin
,但您还要添加新的精灵并将其分配给coin
。那么调用重叠函数时coin
的值是多少?也许这在技术层面上可以正常工作,但为了避免任何混淆,我会为不同的事情使用不同的变量名称。如果没有别的东西,它会使你的代码更具可读性。
其次,createcoin()
中添加到游戏中的硬币精灵不会添加到组中。并且由于它没有添加到组中,因此从不启用精灵的物理主体。
最后,{(1}}函数在create()中只调用一次。我认为它应该在update()函数中调用。 Phaser.js中的update()函数是一种主要的游戏循环。每次帧更新都会调用它。
所以将这三个修复程序放在一起,我会尝试这样的事情:
arcade.overlap
答案 1 :(得分:0)
在你创建的创建函数中,在更新函数中你更新,杀死一个硬币不是初始状态,它是在某些条件下即将发生的事情,这两行
SearchString
属于更新功能。 您可能仍然对示波器有问题。
你也应该为硬币创建组,这样的东西,你创建它们,以便他们去创建函数
game.physics.arcade.overlap(coins, player, killcoin, null, this); //killcoin is callback so no(), coins with "s" as you are calling the whole group
function killcoin(coin,player) {
coin.kill();
}
此外,camelCasing是您风格的绝佳补充,因为它提高了可读性(killCoin,createCoin ......)