Javascript: 如何从多个原型中调用一个函数?

Javascript: How to call a function from multiple prototypes?

美好的一天,

我正在使用移相器 3 和 javascript 进行编码,然后尝试像这样 classes:

class gameScene extends Phaser.Scene {
create()
  {
    // add inputs
    this.cursors = this.setDirectional('W', 'A', 'S', 'D');
  }
}

我尝试通过添加

来制作原型
gameScene.prototype = {
  setDirectional:
    function (setUp, setDown, setLeft, setRight) {
      // some code
    })
  },

  someOtherMethod:
    function(){
       // some other code
    }
}

但它会为 setDirectional() 函数产生 'not a function' 错误。当我分离原型时它似乎有效:

gameScene.prototype.setDirectional =  function (setUp, setDown, setLeft, setRight){ 
    // code 
}

谁能解释为什么会这样?在使用分组原型格式时,是否有从 class 中调用 setDirectional() 函数的解决方法?

提前致谢。

object 分配给 Class.prototype 不是正确的行为。但是,您可以将新的 属性 添加到 Class.prototype 并将您的方法存储在此处。

class gameScene {
  create() {
    return "create function"
  }
}

gameScene.prototype.methods = {
    setDirectional: function(){
        return "test"
    }
}

console.log(gameScene.prototype.methods.setDirectional())