如何在phaserjs中使用混合

时间:2014-03-16 07:36:54

标签: javascript phaser-framework

我搜索了整个文件,实际上我已下载并手动搜索。我找到的只是过滤方法,它允许你使用你必须编写的webgl shadders。

我想要的是一种混合,就像你在photoshop中看到的混合层等等。

在互联网上,我在pixijs中找到了一些例子,并在半年前谈到支持它。所以请一直关注phaserjs并了解filter / blendMode的人请告诉我。

2 个答案:

答案 0 :(得分:8)

New Phaser 2.0为Sprite对象引入了blendMode属性。并且有一个PIXI枚举用于识别一个:

PIXI.blendModes = {
    NORMAL:0,
    ADD:1,
    MULTIPLY:2,
    SCREEN:3,
    OVERLAY:4,
    DARKEN:5,
    LIGHTEN:6,
    COLOR_DODGE:7,
    COLOR_BURN:8,
    HARD_LIGHT:9,
    SOFT_LIGHT:10,
    DIFFERENCE:11,
    EXCLUSION:12,
    HUE:13,
    SATURATION:14,
    COLOR:15,
    LUMINOSITY:16
};

所以,你可以简单地写

sprite.blendMode = PIXI.blendModes.ADD;

就在这里。

答案 1 :(得分:1)

你可以简单地使用:

spriteName.blendMode =  PIXI.blendModes.TypeOfBlendMode;  

其中:

spriteName是精灵的名字(让他们说玩家/敌人)和   TypeOfBlendMode是您要使用的混合类型(可以是以下之一: 正常,添加,多重,屏幕,覆盖,黑暗,亮,COLOR_DODGE,COLOR_BURN,HARD_LIGHT,SOFT_LIGHT,差异,排除,HUE,饱和度,颜色,发光度。

示例:让我们说精灵名称是玩家,我想将混合模式设置为MULTIPLY然后我会写:

player.blendMode = PIXI.blendModes.MULTIPLY;