テキストを上にして矩形を使用して2つのボトンを描画します。 ご覧のとおり、同じループを使用して2つの異なる結果が得られます。 最初の「ボタン」は、ボックスの後ろにテキストが隠されています。 2番目にはテキストが上に書かれています。 これはなぜですか?並べ替えはどのようにキャンバスで動作しますか?ここでキャンバスでのオブジェクトの並べ替え
<body>
<canvas id="canvas" width="320" height="512"
style="position: absolute; left: 500px; top: 50px; z-index: 1;"></canvas>
<script>
var canvas = document.getElementById('canvas');
var context = canvas.getContext("2d");
canvas.style.backgroundColor = 'rgba(0, 0, 0, 0)';
context.clearRect(0, 0, 320, 16);
gameMenu();
function gameMenu(){
var buttons = [ {x: 210, y: 420, w: 80, h: 30, s: "Messages"},
{x: 210, y: 470, w: 80, h: 30, s: "Pause"} ], i = 0, r;
while(r = buttons[i++]) {
context.rect(r.x, r.y, r.w, r.h);
context.fillStyle = "rgb(26,26,26)";
context.fill();
context.fillStyle = 'White';
context.font = "16px Tahoma";
context.fillText(r.s, r.x + 18, r.y + 22);
}
}
</script>
</body>
はJSフィドルです: https://jsfiddle.net/oa84Lsxn/1/
何のソートはありません、あなたはボトムアップから、正しい順序でオブジェクトを描画する必要があります。 – Cyclonecode
@サイクロン。良い情報ですが、質問者には別の問題があります。 ;-) – markE