我正在关注一本着名的书“用createjs.pdf开始html5游戏开发”Apress Publication。 无论如何,当我运行代码时,我的浏览器控制台出错:我将我的createjs托管的lib更新到最新版本 gs skinner github我发现p.initialize = function已被弃用。 我不是一个优秀的程序员。是否有任何方法可以解决错误并运行本书的代码。谢谢
未捕获的TypeError:this.EventDispatcher_initialize不是函数 AssetManager.js:34未捕获的TypeError: 在这里我粘贴了几行34到最后的功能
p.initialize = function () {
this.EventDispatcher_initialize();
this.loadManifest = [
{id:this.EXPLOSION, src:this.assetsPath + 'explosion.mp3'},
{id:this.SOUNDTRACK, src:this.assetsPath + 'dreamRaid1.mp3'},
{id:this.GAME_SPRITES_DATA, src:this.assetsPath + 'all.json'},
{id:this.GAME_SPRITES, src:this.assetsPath + 'all.png'}
];
}
答案 0 :(得分:0)
你能展示更多代码吗? this.EventDispatcher_initialize
用于早期继承方法,以及较新的extend/promote
方法。
如果您使用的是旧方法,那么应该在这一方面有一行说:
p.EventDispatcher_initialize = p.initialize;
这首先在当前类原型上存储超类(EventDispatcher)方法,因此您可以调用它来应用默认功能。您还应该在顶部看到类似的内容,这将设置继承:
function MyClass() {
this.initialize();
}
var p = MyClass.prototype = new createjs.EventDispatcher();
如果您缺少任何这些步骤,您的代码将无效。