Я начал создавать HTML5-игру на холсте. У меня есть базовый HTML-документ с холстом. Проблема, с которой я сталкиваюсь, связана с JavaScript. У меня есть объект в качестве «контроллера» моей игры с именем Pixels
. Внутри объекта у меня есть объект с именем canvas
, который имеет 1 свойство с именем ctx
, которое возвращает ctx холста (который я в настоящее время получаю непосредственно из document.getElementById("Pixels-Canvas").getContext("2d)
. Проблема заключается в следующем: скажем, я вызываю Pixels.canvas.ctx
это вернуло бы 2-й контекст холста, просто. Теперь допустим, что я вызываю Pixels.canvas
. Как бы я сделал это возвращение document.getElementById("Pixels-Canvas")
, не добавляя свойство canvas к объекту canvas, делая вызов следующим образом: Pixels.canvas.canvas
Что у меня есть:
var Pixels =
{
canvas:
{
ctx:
document.getElementById("Pixels-Canvas").getContext("2d")
}
};
Pixels.canvas
Это не то, что я хочу, поскольку это не дает мне сам холст
Чего я не хочу:
var Pixels =
{
canvas:
{
canvas:
document.getElementById("Pixels-Canvas"),
ctx:
document.getElementById("Pixels-Canvas").getContext("2d")
}
};
Pixels.canvas.canvas
Возвращает холст, но canvas.canvas
? Некрасиво.
Примечание
Я думаю, что до сих пор меня неправильно поняли. Мне нужен вызов Pixels.canvas
для возврата холста и Pixels.canvas.ctx
для возврата ctx холста.
РЕШЕНИЕ
Я решил свою проблему. Смотрите мой ответ ниже для деталей