2016-05-22 9 views
0

Ich möchte Benutzer this Filter/Shader in meinem HTML5-Projekt.Filter/Shader funktioniert nur nach dem Neuladen. Phaser

Das Problem ist auf Safari und Firefox (Chrome funktioniert für mich) der Filter/Shader funktioniert nur, nachdem ich die Seite einmal neu geladen habe. Auch die Beispielseite hat das gleiche Problem. Ich habe versucht, die .frag-Datei zuerst mit jQuery.get() zu laden, um die Datei im Cache an erster Stelle zu bekommen, aber auch keinen Erfolg.

Hat jemand eine Idee, warum das passiert?

EDIT: zum besseren Verständnis:

Die Shader ist nicht in Firefox und Safari-Rendering, wenn Sie der Seite zum ersten Mal (.frag Datei nicht im Cache) besuchen. Nur eine leere Leinwand (Standard schwarz/Hintergrundfarbe der Leinwand) ist sichtbar

+0

Die Angabe, welchen Code Sie haben, sollte anderen helfen, schneller zu helfen. –

+0

Auf der Beispielseite ist der Code – delueg

+0

Außer dass es nicht ist; Ich sehe keine Verwendung von jQuery im Beispielcode. –

Antwort

0

Wie ich verstehe, müssen Sie einen reibungslosen Zustand ändern.

Jeder Zustand, Sie können ein einfaches schwarzes Bild verwenden, das zu Ihrem Spielbildschirm passt, um in ein paar Sekunden auszublenden.

Sie sollten unten am Ende Ihrer Erstellungsfunktion ein Skript hinzufügen. Wie diese

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); 

    } 

Dies hilft Ihnen ein sanftes Öffnen/Ändern Spielschirme zu behandeln.

+0

Danke für deine Antwort aber das ist nicht das Problem ... das Problem ist, dass wenn du als Nutzer die Seite das erste Mal ohne irgendwelche Assets im Cache öffnest, auch die Shader-Datei meint. Der Shader wird nicht geladen und zeigt nur die leere Canvas – delueg

+0

interessiert, um einen anderen Blick zu nehmen? – delueg