Ich lese durch "Making Isometrische Social Real-Time Games mit HTML5, CSS3 und Javascript."drawImage() funktioniert nicht
Ich bin nicht weit hinein, und ich habe auf ein Leinwandproblem gestoßen, das mich den größten Teil des Tages ratlos gemacht hat.
drawImage() scheint nicht zu zeichnen. Ich habe das Thema recherchiert und viele Möglichkeiten des Vorladens des Bildes ausprobiert, aber bisher funktioniert nichts.
Hier ist mein Code:
HTML:
<canvas id="game" width="100" height="100">
Your browser doesn't include support for the canvas element.
</canvas>
CSS:
html {
height:100%;
overflow:hidden
}
body {
margin:0px;
padding:0px;
height:100%;
}
und js:
window.onload = function() {
var canvas = document.getElementById('game');
canvas.width=document.body.clientWidth;
canvas.height=document.body.clientHeight;
var c = canvas.getContext('2d');
function showIntro() {
var phrase = "Click or tap screen to start";
c.clearRect (0, 0, canvas.width, canvas.height);
var grd = c.createLinearGradient(0, 0, canvas.width, canvas.height);
grd.addColorStop(0, "#9db7a0");
grd.addColorStop(1, "#e6e6e6");
c.fillStyle = grd;
c.fillRect (0, 0, canvas.width, canvas.height);
var logoImg = new Image();
logoImg.src = '../img/logo.png';
var originalWidth = logoImg.width;
logoImg.width = Math.round((50 * document.body.clientWidth)/100);
logoImg.height = Math.round((logoImg.width * logoImg.height)/originalWidth);
var logo = {
img: logoImg,
x: (canvas.width/2) - (logoImg.width/2),
y: (canvas.height/2) - (logoImg.height/2)
}
c.drawImage(logo.img, logo.x, logo.y, logo.img.width, logo.img.height);
c.font = "bold 16px sans-serif";
var mt = c.measureText(phrase);
var xcoord = (canvas.width/2) - (mt.width/2);
c.fillStyle = '#656565'
c.fillText (phrase, xcoord, 30);
}
showIntro();
}
Jede mögliche Hilfe würde geschätzt!
Das tat es. Thnx eine Tonne! – Jeremythuff