如何创建带有回调的onUpdate函数

问题描述 投票:-1回答:1

我想创建一个名为“爬坡赛车”使用pixi.js和matter.js游戏的副本。我发现写在打字稿一个简单的场景管理器和场景对象和我把它转换为JavaScript,但代码的某些部分是不工作...我想使用的功能onUpdate这样的:gameplay.onUpdate(function() {} );,但我不知道该怎么通过函数调用onUpdatethis.update()函数的回调。

var callback = function() {}
this.onUpdate = function(callback) {
  if (callback && typeof callback == "function") {
    callback();
    console.log("looP");
  }
}
this.update = function() {
  callback();
}
javascript callback
1个回答
0
投票

如果我理解正确的话,我更喜欢向你展示如何通过一个回调为“本地”的功能,因此会更加明朗。 (这是通常使用的情况下)

this.onUpdate = function(callback) {
    if(callback && typeof callback == "function"){
        callback();
        console.log("looP");
    }
}
this.update = function() {
  this.onUpdate(() => {
    console.log('onUpdate callback');
  });
}

例如:

function myObj() {
  this.onUpdate = function(callback) {
    if (callback && typeof callback == "function") {
      callback();
      console.log("looP");
    }
  }
  this.update = function() {
    this.onUpdate(() => {
      console.log('onUpdate callback');
    });
  }
}

const a = new myObj();
//a.update();
a.onUpdate(() => {
  console.log('this is my callback!');
});
© www.soinside.com 2019 - 2024. All rights reserved.