1

キャンバスにレンダリングしているときに問題が発生しました。次のエラーが表示されます:

[17:05:28.636] TypeError: CanvasRenderingContext2D.drawImage の引数 1 は、HTMLImageElement、HTMLCanvasElement、HTMLVideoElement のいずれにも変換できませんでした。@ file:///home/alex/Desktop/Game/index.html:24

var gameCanvas = document.getElementById("graphics");
var grafx = gameCanvas.getContext("2d");
var stele = new Object("../resources/sprites/enemy/enemyship1.png",500,500);
GameLoop();

function GameLoop(){

grafx.clearRect(0,0,gameCanvas.width,gameCanvas.height);
grafx.drawImage(stele.Sprite,stele.X,stele.Y);


setTimeout(GameLoop,1000/60);
}

function SteleMiscatoare(img,x,y) {
this.Sprite = new Image();
this.Sprite.src = img ;
this.X = x;
this.Y = y;

}

そしてHTMLファイル:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>UFO Space Atack</title>
<link rel="stylesheet" style="text/css" href="data/stylesheet.css" />
</head>
<body onkeydown="keyDown(e)" onkeyup="keyUp(e)">
<div class="container">
    <h1 class="title">UFO Space Atack</h1>
</div>
<div class="canvascontainer" align="center">
    <canvas id="graphics" width="950px" height="490" id="graphics"></canvas>
</div>

<script src="data/stele.js"></script>

</body>
</html>

誰かがこれを解決するのを手伝ってくれますか? ありがとうございました !JavaScriptの初心者です...

4

1 に答える 1

1
var stele = new Object("../resources/sprites/enemy/enemyship1.png",500,500);

次のようにする必要があります。

var stele = new SteleMiscatoare("../resources/sprites/enemy/enemyship1.png",500,500);
于 2013-09-29T14:18:54.963 に答える