2011-01-14 6 views
1

私はHTML5スネークゲームを作成する方法についてのチュートリアルに従いましたが、変更したいと思います。チュートリアルはhttp://blog.new-bamboo.co.uk/2009/12/30/html5-canvas-snake-game頭の画像ファイルでHTML5スネークゲームを変更する

のスネークの頭には10x10ピクセルの画像ファイルを、残りのスネークには通常の色を入れたいと思っています。チュートリアルのコードで誰もがこれを達成するのを手伝ってもらえますか?

これがヘビであり、[x]が頭を表しているとします。私は画像を含むように頭を修正したいと思います。

[X] [] [] []

私はあなたがdrawImageメソッドを使用するキャンバスに画像を描画することを知っているが、この特定のゲームのためにそれを使用する方法がわかりません。

事前にThxを:)この行の後

+0

あなたはどんな答えを期待していますか?競合するコードサンプル?あなたが本当に 'drawImage()'を知っているなら、ヘビの頭の位置にイメージを貼り付けることができるはずですか? =) – timdream

+0

私はそれに自分自身でアプローチする方法がわからない場合は、質問しません。チュートリアルで提供されたコードを使って頭のイメージをどのように実装するのかを知りたいだけです。 – Eypeon

答えて

2

... this.gridSize = 10;は、このような次の関数を書き換えるその後

this.snakeHead = new Image(); 
this.snakeHead.src = "/path/to/my/image.png"; 

を追加...

function drawSnake() { 
    snakeBody.push([currentPosition['x'], currentPosition['y']]); 
    ctx.drawImage(snakeHead,currentPosition['x'], currentPosition['y'],gridSize,gridSize); 
    if(snakeBody.length > 1) { 
    last = snakeBody[1]; 
    ctx.fillRect(last['x'], last['y'], gridSize, gridSize); // this might be last[0] and last[1] here 
    } 
    if (snakeBody.length > 3) { 
    var itemToRemove = snakeBody.shift(); 
    ctx.clearRect(itemToRemove[0], itemToRemove[1], gridSize, gridSize); 
    } 
} 

私が実行していませんこれは、あなたを始めるためのガイドです。

+0

私はあなたが提供したものに基づいてコードを少し修正しましたが、まだいくつかの問題を抱えています。 関数drawSnake(){ snakeBody.push([currentPosition ['x']、currentPosition ['y']]);ctx.drawImage(snakeHead、currentPosition ['x']、currentPosition ['y']、gridSize、gridSize); if(snakeBody.length> 3){ last = snakeBody [snakeLength-1]; ctx.fillRect(last [0]、last [1]、gridSize、gridSize); //これは最後の[0]と最後の[1]です。 \t} if(snakeBody.length> snakeLength){ var itemToRemove = snakeBody.shift(); ctx.clearRect(itemToRemove [0]、itemToRemove [1]、gridSize、gridSize); } } – Eypeon

+0

何が問題なのですか? (私はリンクを持っていません...)確かにこれはヘビの長さ全体に蛇の頭のイメージを描くでしょう... – stef

+0

蛇の長さが増加すると、最終的には蛇の頭の正確に3タイルを見ることができます姿を消す。助言がありますか? – Eypeon

関連する問題