我有一个名为collisioncheck
的函数。现在,它可以通过检查适用于播放器的变量来完美地工作,例如 playerPosX
、playerVelX
、playermaskIMG
等。
我想做的是类似于 collisioncheck(object)
的东西,所以说我调用 collisioncheck(player)
它将使用 检查上面的变量playerPosX
等,如果我调用 collisioncheck(zombie)
那么它会检查 zombiePosX
等。
我怎样才能做到这一点?
如果您有任何疑问,请询问,因为我不太擅长解释这一点...... 提前致谢!
最佳答案
我强烈建议您重构代码,以便变量像
playerPosX
playerPosY
playerVelX
playerVelY
zombiePosX
zombiePosY
zombieVelX
zombieVelY
不要出现在您的代码中。相反zombie
和player
应该是具有属性的对象,例如 velX
, velY
, posX
和posY
.
然后collisionCheck
看起来像
function collisionCheck(object) {
.... object.posX ...
}
通过检查这些对象的每个属性,当前对象将与所有其他附近的玩家和僵尸进行比较。
您确实不想走将变量名称作为字符串处理的路线。从本质上讲,属性会为您执行此操作。
关于javascript - 函数参数...函数检查(对象){},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7857474/