Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
изначально карта отрисовывалась из тайлов и общая картинка карты не изменялась Все данные для карты передавались при инициализации (то есть только один раз). Теперь же, с появлением динамических элементов появилась необходимось создавать небольшие "куски" карты после инициализации, которые могли участвовать в игре - динамические. Например ящик, который можно будет подвинуть. Для них и нужны эти данные. |
dmitry111, а почему наследовать нельзя, передавать в момент создания объекта нельзя? в прототипы тоже под запретом?)
|
Rise, наследовать не удобно потому как конструкторы грузятся все и сразу и не имеют строгих имен. Я могу опознать конструктор карт в момент инициализации карты. Мне приходит название конструктора и данные, по ним я и ориентируюсь
|
dmitry111,
Factory[name] = data[name]; Factory[name].prototype.data = function (name, value) { var constr = this.constructor; if (value !== undefined) constr[name] = value; return constr[name]; }; |
Rise,
спасибо! а как добавить свойства не создавая экземпляр? |
dmitry111, так например:
Factory.add = function (data) { var name, constr, link = this.data; for (name in data) { if (data.hasOwnProperty(name)) { constr = this[name] = data[name]; constr.data = constr.prototype.data = link; } } }; Factory.data = function (name, value) { var constr = (typeof this !== 'function') ? this.constructor : this; return (value !== undefined) ? constr[name] = value : constr[name]; }; // (Constructor|Instance).data(name) get the constructor's name value // (Constructor|Instance).data(name, value) set the constructor's name value and return it |
Rise,
да, вроде то что надо. Спасибо! |
Часовой пояс GMT +3, время: 11:27. |