畫布與其他繪畫工具沒有任何區別。你真的有有來跟蹤你正在繪製什麼。訣竅是你如何做到這一點。爲它使用對象實際上是個不錯的主意,它並不那麼難。您只需將畫布的context
傳遞給任何對象,以便它與畫布進行交互並在其上繪製。所以如果你有一個名爲Foo的對象,你可以讓對象決定如何繪製它。例如,它可以有一個方法,像這樣:
function Foo() {
this.draw = function(context) {
context.restore();
context.fillStyle = "rgb(200,0,0)";
context.fillRect (10, 10, 55, 50);
context.save();
// And so on...
}
在您的主繪圖循環中,您可能有類似下面的代碼:
// ... Various init - remember to set the context and store the Foo object somewhere
foo.draw(context);
// ...
這將允許你創建自己的繪圖方法的對象。當然有幾種方法可以做到這一點,但這個方法的優點是它非常模塊化。如果你想要,你可以有幾種類型的對象,從一些漂亮的工具繼承相同的泛型類型,等等...... 希望有幫助!
P.S .:我只記得關於整個HTML 5/canvas的一個精彩教程:It's on MDN here。
這正是我建立[fabric.js](http://kangax.github.com/fabric.js/demos/)庫的原因 - 爲canvas提供了一個方便的對象模型。看看它;我希望它有幫助。 – kangax
我會立即 – Cystack