过滤器/着色器仅在重新加载后有效。移相器

时间:2016-05-22 08:28:55

标签: javascript shader loading phaser-framework

我想在我的html5项目中使用this过滤器/着色器。

问题出现在Safari和Firefox上(Chrome对我有效)过滤器/着色器仅在我重新加载页面一次后才起作用。示例页面也有同样的问题。我尝试首先使用jQuery.get()加载.frag文件,以便在缓存中获取文件,但也没有成功。

有谁知道为什么会这样?

编辑: 为了更好地理解:

如果您第一次访问该页面(.frag文件不在缓存中),则Shader不会在Firefox和Safari中呈现。只有空白(画布的默认黑色/背景颜色)画布可见

1 个答案:

答案 0 :(得分:0)

据我所知,你需要一个平稳的状态改变。

每种状态,您都可以使用适合您游戏画面的简单黑色图像在几秒钟内淡出。

您应该在create function的末尾添加以下脚本。 像这样,

    create: function(){
    //your create codes here

    blackScreen = game.add.sprite(0, 0, 'blackScreen');
            game.add.tween(blackScreen).to({
                alpha: 0
            }, 500, Phaser.Easing.Linear.None, true);

    }

这将有助于您顺利打开/更改游戏画面。