Ich gehe davon aus Sie das <canvas>
Element verwenden, wie es die grafische Grundlage für die meisten Spiele ist.
Wenn dies der Fall ist, müssen Sie sicherstellen, dass Sie die Größe immer nur mit den Inline-Attributen width
und height
ändern. Durch die Inline, ich meine die, die buchstäblich in den HTML-Code eingebettet sind:
<canvas width="--your width--" height="--your height--">
</canvas>
Was wollen Sie sicherstellen, dass es keine andere Schlichte auf der Leinwand aufgetragen wird.
Nichts von alldem:
/* style.css */
canvas {
transform: scale(1.5, 1.5);
}
Und auch nichts davon:
/* style.css */
canvas {
width: 100%;
height: 100%;
}
Die Sache ist, dass die Anzahl von Pixeln Auflösung, die eine Leinwand, mit zu arbeiten ist definiert nur durch seine inline width
und height
Attribute. Wenn Sie Ihre Leinwand die gleiche Auflösung wie Ihr Handy-Bildschirm haben wollen, müssen Sie Javascript verwenden, um seine width
und height
, wenn die Bildschirmgröße ändert sich zu ändern:
/* thing.js */
var resizeCanvas = function() {
var canvasElem = getYourCanvasElement();
canvasElem.width = getWidthOfScreen();
canvasElem.height = getHeightOfScreen();
}
// Make sure canvas fits initially...
whenPageLoads(resizeCanvas);
// And then resize it whenever needed
whenScreenSizeChanges(resizeCanvas);
Natürlich weiß ich nicht, was Frameworks du bist so verwenden, dass Code nur eine Vorlage ist. Sie müssen entscheiden, wie Sie getYourCanvasElement
, , getHeightOfScreen
, whenPageLoads
und whenScreenSizeChanges
implementieren.
BEARBEITEN: Eine andere Sache, die die Größe Ihrer Zeichenfläche beeinflussen kann, ist die Skalierung des Browser-Ansichtsfensters. Es gibt einen guten Einblick in das here.
Mögliches Duplikat von [drawImage erzeugt eine schlechte Qualität im Vergleich zum img-Tag] (http://stackoverflow.com/questions/41528103/drawimage-generates-bad-quality-compared-to-img-tag) – Kaiido
Nicht ablehnen dPR, verwenden Sie es: skalieren Sie Ihre Leinwand Größe von der dPR, dann skalieren Sie es über CSS. Sie erhalten das korrekte dPR für Ihre Leinwand. (vergiss nicht, immer dein Canvas-Verhältnis zwischen CSS und Eigenschaftengrößen zu beachten!) – Kaiido