2016-01-07 51 views
0

我正在構建一個實時畫布點擊遊戲,並且幾乎完成。 我需要更改畫布繪製元素的顏色。我聽說這是無法完成的。 我有一個變量保存單擊形狀的這些屬性上使用兩個客戶端:HTML畫布重新着色/編輯形狀或數組?

{ x: 446.48232363630086, 
    y: 279.37327971844934, 
    dx: 2.829614687943831, 
    dy: -3.0215198849327862, 
    rad: 26, 
    color: 'rgb(146,25,122)' } 

而且我還有一個變量保存一個新的顏色,如果它是不可能改變對繪製的東西顏色畫布,我可以編輯數組中的對象,這將使我當前的drawShape函數重繪更改的形狀?這是我的舊單人遊戲代碼,供參考。 https://jsfiddle.net/a9b3rm5u/5/謝謝

+0

清除畫布canvas.clearRect(X,Y,DX,DY)和重繪你的形狀與新的顏色 – lyz

+0

您在單有什麼相似層,您必須重繪大部分/所有形狀,因爲疊加。如果有另一個形狀觸及此區域,則只需清除x,y,dx,dy並用新顏色重繪即可。 – Will

+0

但是,如果我改變數組中的形狀以獲得新的顏色?那麼另一個函數應該用新的顏色繪製它? – Noobcoder

回答

0

我想通了:

var i = data.shapeRemoval;//object data 
var c = data.colours; // colour data 
var r = c; 
shapes.splice(i,1); // removes old object from array 
i.color = c; // replaces the color in the object for the variable C 
shapes.push(i)// pushes to array