О, интересная библиотека (про vue.js). На беглый взгляд напоминает Ractive.js
Собственно, сам Graphics2D начался с проблем с одним из таких фремйворков ( вот этого: jcscript.com/ ), в определённый момент мне пришла мысль — а почему бы не написать свой?
Сам Graphics2D собираюсь поддерживать, как минимум, пока не пофикшу максимум (прошу прощения за тавтологию) багов, всех, что найду, и не реализую несколько интересных мне идей в плагинах.
Вообще говоря, я изначально хотел реализовать полный SVG, т.к. легко переносить SVG-фигуры, ну и на ходу сочинять несложно. Вполне человекопонятный формат… Но потом понял, что реализация займёт больше, чем задумывалось, так что вынес в плагин.
Второй вариант тоже задумывался как такой человекопонятный, но немного другой… Вроде как что удобно — то и использовать.
Третий же изначально вообще подразумевался как удобный для генерации (там были имена свойств f, arg), но потом он тоже превратился в человекопонятный…
_parsePath вызывается только при создании самого пути, проверки на тип простые, так что я не думаю, что сожрёт весь процессор :)
Анимация да, там даже в коде комментарий про это есть ). Ломается из-за отсутствия очереди событий… Сделаю, как только решу, как именно.
Честно говоря, разработка начиналась аж 2 года назад, когда велосипедом это ещё не было :)
Потом на некоторое время пропало свободное время, и вот оно наконец появилось…
PixiJS — вполне естественно, т.к. там WebGL (а это, если не ошибаюсь, практически прямой доступ к видеокарте).
Я подумаю над WebGL-рендером. Тем более, непосредственно за рисование в Graphics2D отвечают всего 5-6 функций.
> Разница между undefined и null появилась в языке случайно, и обычно не имеет значения.
Как-то с DOM-а пошло, что null — когда значение должно быть, но его почему-то нет. А undefined — когда быть не должно.
Как-то так:
var obj = document.body.firstChild; // [object Text]
obj.firstChild; // -> null
// -- у всех объектов определено свойство firstChild, однако конкретно у этого в нём ничего нет
// "да-да, слышал про firstChild, но лично не знаком"
obj.anyOtherValue; // -> undefined
// "что? я ничего не знаю ни про какой anyOtherValue!"
Я тут, конечно, усложнил…
Но о_О интересный пример. Это ж жутко неэкономично. А если я 10^10 спрошу?
Test it on 50 and 75. See how it behaves on -1. Why? Can you think of a way to fix this?
Случайно осталось? :)
Такой код работает, хотя функция объявляется ниже того кода, который её использует. Это происходит оттого, что объявления функций не являются частью обычного исполнения программ сверху вниз. Они «перемещаются» наверх их области видимости и могут быть вызваны в любом коде в этой области. Иногда это удобно, потому что вы можете писать код в таком порядке, который выглядит наиболее осмысленно, не беспокоясь по поводу необходимости определять все функции выше того места, где они используются.
Это называют «всплытием», и уточню: такое происходит только приfunction name(...){...}, если мы делаем var name = function(...){...} — мы просто создаём переменную, содержащую функцию, а переменная не всплывает. А можно ещё и так: var func1 = function func2(){} — тогда func2 всплывёт, а func1 — нет.
Собственно, сам Graphics2D начался с проблем с одним из таких фремйворков ( вот этого: jcscript.com/ ), в определённый момент мне пришла мысль — а почему бы не написать свой?
Сам Graphics2D собираюсь поддерживать, как минимум, пока не пофикшу максимум (прошу прощения за тавтологию) багов, всех, что найду, и не реализую несколько интересных мне идей в плагинах.
Второй вариант тоже задумывался как такой человекопонятный, но немного другой… Вроде как что удобно — то и использовать.
Третий же изначально вообще подразумевался как удобный для генерации (там были имена свойств f, arg), но потом он тоже превратился в человекопонятный…
_parsePath вызывается только при создании самого пути, проверки на тип простые, так что я не думаю, что сожрёт весь процессор :)
Анимация да, там даже в коде комментарий про это есть ). Ломается из-за отсутствия очереди событий… Сделаю, как только решу, как именно.
Спасибо, реализовано github.com/keyten/Graphics2D/commit/87d9988b0e5771ef93cee28c6f986a988894441d
Для анимации также реализую, пока появилась мысль, как её ещё оптимизировать, думаю.
Потом на некоторое время пропало свободное время, и вот оно наконец появилось…
PixiJS — вполне естественно, т.к. там WebGL (а это, если не ошибаюсь, практически прямой доступ к видеокарте).
Я подумаю над WebGL-рендером. Тем более, непосредственно за рисование в Graphics2D отвечают всего 5-6 функций.
Демо уже добавил (под кодом ссылки на jsfiddle), можете там крутить количество итераций и смотреть.
> А вообще, попахивает LibCanvas'ом
В каком плане? Функции похожи?
Странноватая конструкция для JS.
(видео от code:deck).
9 где?
Как-то с DOM-а пошло, что null — когда значение должно быть, но его почему-то нет. А undefined — когда быть не должно.
Как-то так:
Имеется в виду что-то такое?
Я тут, конечно, усложнил…
Но о_О интересный пример. Это ж жутко неэкономично. А если я 10^10 спрошу?
Случайно осталось? :)
Это называют «всплытием», и уточню: такое происходит только при
function name(...){...}, если мы делаемvar name = function(...){...}— мы просто создаём переменную, содержащую функцию, а переменная не всплывает. А можно ещё и так:var func1 = function func2(){}— тогда func2 всплывёт, а func1 — нет.P. S. Да, я вижу, что перевод ).
Это же вариант, о котором упомянули выше («выехал за границы, заехал обратно и рисуешь дальше»).
Понятно, спасибо.