Я пишу игру изометрической плитки. Каждая плитка в два раза шире своей высоты (w: h = 2: 1). Все тайлы на карте имеют одинаковый размер, а их ширина и высота известны (TileWidth и TileHeight).
Может быть любое количество столбцов (> 0) и строк (> 0).
Я борюсь придумать формулу для расчета ширины и высоты полностью нарисованной карты. Это должно быть расстояние от самого верха до самого низа и от крайнего левого угла до крайнего правого. if (elem ....
Возможный дубликат:
Удаление анонимного прослушивателя событий
У меня есть следующая кроссбраузерная функция для добавления прослушивателя событий:
_SU3.addEventListener = function(elem, eventName, fn) {
if(elem.addEventListener ) {
elem.addEventListener(eventName, fn, false);
} else if (elem.attachEvent) {
elem.attachEvent('on'+eventName, fn);
}
};
Я добавляю слушателя следующим образом:
_SU3.addEventListener(_show, "click", function(event) {
_SU3.getChildren(_show, uri, element);
});
И все в порядке. Однако я хочу удалить слушателя после того, как он был вызван один раз. То есть что-то например:
_SU3.getChildren = function(_show, url, element) {
... blah...
_SU3.removeEventListener(_show, 'click', ANON_FUNCTION);
};
Но, конечно, функция прослушивателя анонимна, поэтому нет имени функции для ссылки.
Как я могу удалить прослушиватель?
Спасибо