我想要一个从hexGraphics(Phaser.Graphics)生成的纹理的精灵,它被hexMask对象掩盖
var hexGraphics = new Phaser.Graphics()
.beginFill(0x898989)
.drawRect(0,0,80,80);
var hexMask = new Phaser.Graphics()
.beginFill(0x0)
.drawCircle(0,0,50)
;
game.add.sprite(10,10,hexGraphics.generateTexture()); //working
game.add.sprite(110,10,hexMask.generateTexture()); //working
hexGraphics.mask = hexMask; // http://www.goodboydigital.com/pixijs/docs/classes/Graphics.html mask property
game.add.sprite(110,110,hexGraphics.generateTexture()); // no wai =(
这是小提琴http://jsfiddle.net/vnbvL50h/1/
任何想法如何生成蒙版纹理或修复此示例?
我已经编辑了小提琴,遮罩现在可以工作了,我不确定这是否是您正在寻找的结果,但本质上你不能使用一个图形对象来屏蔽另一个图形对象,你必须使用一个精灵。
// create a sprite, keep a reference of it and mask it
var hexSprite = game.add.sprite(0,0,hexGraphics.generateTexture());
hexSprite.mask = hexMask;
这是关于掩蔽的官方小精灵示例:http://www.goodboydigital.com/pixijs/examples/14/