Холст ничем не отличается от других инструментов рисования.У вас действительно есть , чтобы отслеживать то, что вы рисуете.Хитрость в том, как ты это делаешь.На самом деле это хорошая идея использовать объекты для этого, и это не так уж сложно.Вам просто нужно передать 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);
// ...
Это позволит вам создавать объекты с ихсобственные методы рисования.Конечно, есть несколько способов сделать это, но преимущество этого в том, что он довольно модульный.Если вы хотите, вы можете иметь несколько типов объектов, которые наследуются от одного и того же универсального типа с некоторыми изящными инструментами и так далее ... Надеюсь, это поможет!
PS: Я только что вспомнил блестящий учебник по всему HTML 5 / материалу canvas: Он здесь на MDN .