2017-03-04 7 views
3

Ich versuche ein Spiel mit Phaser und CocoonJS zu erstellen. Alles funktioniert einwandfrei, außer beim Zentrieren der Zeichenfläche beim Bereitstellen des Spiels auf Cocoon mit dem Renderer canvas+. Im Folgenden finden Sie drei Codezeilen, die den gewünschten Effekt in einem Webbrowser erzielen, jedoch nicht auf Canvas +.So zentrieren Sie die Leinwand in CocoonJS Canvas + mit Phaser

 this.scale.scaleMode = Phaser.ScaleManager.SHOW_ALL; 
     this.scale.pageAlignHorizontally = true; 
     this.scale.pageAlignVertically = true; 

Das folgende Bild ist eine Abschirmkappe aus einem S3 (auch auf einem iPad wiedergegeben), die die Leinwand perfekt sitzender zeigt, aber nicht entfernt. Hat jemand einen Einblick, wie man die Leinwand zentriert, so dass es auf beiden Seiten sogar schwarze Balken gibt? Die einzige Einstellung, die ich in der Cocoon-Launcher-App geändert habe, ist, Bilder zuzulassen, die keine Zweierpotenzen sind.

Small project reproducing the problem

enter image description here

+0

Try this: 'this.game.scale.pageAlignHorizontally = true; this.game.scale.pageAlignVertically = true; this.game.scale.refresh(); ' –

+0

Das behebt das Problem nicht – eivers88

Antwort

-1

Ich benutze EXACT_FIT für meine Spiele mit Phaser + Cocoon immer. Ich denke du solltest den EXACT_FIT Modus benutzen.

unten Codes in das Startzustand versetzt ("roundPixels" ist nicht erforderlich):

game.scale.scaleMode = Phaser.ScaleManager.EXACT_FIT; 
game.scale.pageAlignHorizontally = true; 
game.scale.pageAlignVertically = true; 
game.renderer.renderSession.roundPixels = true; 
+0

EXACT_FIT dehnt die Assets aus, was für mich keine Option ist. Ich möchte das beabsichtigte Verhalten von SHOW_ALL auf Cocoon arbeiten lassen – eivers88

Verwandte Themen