我想在我的html5项目中使用this过滤器/着色器。
问题出现在Safari和Firefox上(Chrome对我有效)过滤器/着色器仅在我重新加载页面一次后才起作用。示例页面也有同样的问题。我尝试首先使用jQuery.get()加载.frag文件,以便在缓存中获取文件,但也没有成功。
有谁知道为什么会这样?
编辑: 为了更好地理解:
如果您第一次访问该页面(.frag文件不在缓存中),则Shader不会在Firefox和Safari中呈现。只有空白(画布的默认黑色/背景颜色)画布可见
答案 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);
}
这将有助于您顺利打开/更改游戏画面。