Привет Я новичок во всем OOJ и прототипных шаблонах, и я пытаюсь изучить это при создании моего приложения, включающего множество тэгов html5.javascript Object MVC Canvas 'class' decloration
Я хотел бы создать начальное полотно Объект для размещения основ стандартных параметров Мне нужно выполнить тэг canvas, они должны быть динамическими значениями, так что ниже мой конструктор (извините мою терминологию, если это неверно)
//create the view object
var view = view ||{};
//generic canvas obj
view.pageCanvas = function(){
//incase I need 'this in a new context'
var This = this;
//get the canvas
this.canvas = function(id){
document.getElementById(id).getContext('2d');
};
//draw a line
this.line = function (x,y){
return this.canvas.lineTo(x,y);
};
//set the line width
this.linewidth = function(width){
this.canvas.lineWidth(width);
};
//set the stroke colour
this.lineCol = function(colour){
return this.canvas.strokeStyle = colour;
}
//draw the line
this.build = this.canvas.stroke();
};
Я бы затем использовать что-то вроде следующего, чтобы назвать его
Background = new view.pageCanvas();
Background.canvas('BG');
Background.canvas.line(400 , 0);
Background.canvas.line(0,500);
Background.canvas.linewidth(10);
Background.canvas.lineCol("blue"); // line color
Background.canvas.build();
я получаю что-то неправильно в этом, как это я получаю ошибки типа на «this.canvas.stroke()»
Может ли кто-нибудь указать какие-либо указания относительно того, где я ошибаюсь, или, действительно, этот образец не лучший способ сделать это? В конце концов, я хочу, чтобы дизайн был масштабируемый
Заранее спасибо :)
Привет, спасибо за ответ, Если бы я должен был использовать this.canvas = document.getElementById ('') мне нужно было бы передать переменные непосредственно в конструкторскую функцию? для функции конструктора потребуется множество аргументов, которые я надеялся избежать. – user499846
Вы можете просто иметь функцию setCanvas, которая будет принимать идентификатор, который вы хотите вызвать, а затем установить canvas будет выглядеть так: setCanvas: function (id) {this.canvas = document.getElementById (id); } – darren102