我正在使用Phaser-framework(版本2.2.2)和JavaScript制作HTML5游戏。我现在正在为游戏创建一些UI元素。以下代码表示游戏中的UI窗口。
var PointEditScreen = function(game) {
Phaser.Image.call(this, game, 600, 50, 'background');
var exitButton = game.add.button(360, 5, 'exit-button', this.closeScreen, this, 1, 0, 2, 0);
this.addChild(exitButton);
PointEditScreen.prototype.closeScreen = function() {
this.destroy();
};
我遇到exitButton
的问题。它的spritesheet有3个框架,它们都在它们设置使用的状态下工作。现在,这段代码可以运行 - 我的"窗口"按下exitButton
时关闭。但是,如果我像上面的代码中那样设置exitButton
的所有四个帧,我会收到以下错误:
"Uncaught TypeError: Cannot read property 'cache' of null"
如果我从按钮创建中删除最后两帧(downFrame和upFrame),即将其更改为以下内容,则不会发生错误:
var exitButton = game.add.button(360, 5, 'exit-button', this.closeScreen, this, 1, 0);
我做错了什么?如何在不从按钮创建中删除这两个框架声明的情况下摆脱错误?
答案 0 :(得分:0)
似乎这是Phaser中的一个错误,现在它在新版本2.3.0中正常运行。