2011-03-08 44 views
1

我有這樣的代碼問題有明確的HTML5

function clear(){ 
    context2D.clearRect(0, 0, canvas.width, canvas.height); 
} 


function desenhaBonecoDir(){ 

    clear(); 
    context2D.setTransform(1, 0.30, 1, -0.30, 10, 380);//problem here 
    context2D.drawImage(bonecoRight, x, y); 
    x += -10 * xDirection; 
} 

enter image description here

如果我刪除線,其中i「這裏的問題」發表評論,劇本效果很好,但如果我改變觀點與設定變換我不知道爲什麼,圖像被複制但未取消刪除,結果是重複圖像當我按下按鍵

任何幫助嗎?

感謝

回答

2

問題是從改變角度造成的,但不改變它回來時,你清楚的,所以它清除「觀點」,而不是整個畫布,請嘗試以下。它所做的是保存當前視角,然後將其更改爲所需的任何內容,繪製等等,然後恢復以前的視角,以便恢復正常的座標。

context2D.save(); 
context2D.setTransform(1, 0.30, 1, -0.30, 10, 380); 
context2D.drawImage(bonecoRight, x, y); 
context2D.restore(); 

修改你的代碼只是爲了顯示它的工作。 http://jsfiddle.net/89yjG/1/

評論保存和恢復,你會注意到工件。

+0

謝謝,問題就像上面的圖像。隨着你的代碼問題仍然存在 – anvd 2011-03-08 15:40:05

+0

是的男人,現在的作品,非常感謝你 – anvd 2011-03-08 15:47:36