从Phaser中的bitmapdata加载spritesheet

时间:2015-12-21 17:24:27

标签: javascript bitmap phaser-framework sprite-sheet

我尝试使用BitmapData构建图像并将该图像用作spritesheet,但我想我错过了一些东西。

我在预装中这样做......

oBitmapData = game.add.bitmapData(tileWidth * 2, tileHeight);
oBitmapData.ctx.fillStyle = 'blue';
oBitmapData.ctx.fillRect(0,0,tileWidth, tileHeight);
oBitmapData.ctx.fillStyle = 'red';
oBitmapData.ctx.fillRect(tileWidth,0,tileWidth, tileHeight);

oSpriteSheet = game.load.spritesheet(tiles[key].name + 'Sheet', oBitmapData, tileWidth, tileHeight);

然后在其他地方......

game.add.sprite(x, y, tiles[key].name + 'Sheet', 0, tilesGroup);

运行代码时出现以下错误

未捕获的TypeError:url.match不是函数

请问有人引导我走向正确的方向吗?

2 个答案:

答案 0 :(得分:1)

将bitmapdata作为spritesheet添加到phaser:

game.cache.addSpriteSheet('key',null,bitmapdata.canvas, framewidth, frameheight);

答案 1 :(得分:0)

spritesheet()函数只能获取一个url图像而不是一个bitmapData对象,请参阅documentation,这会导致您的错误。

框架AFAIK不支持从bitmapdata创建精灵表,至少根据此forum thread