Archive for 'Nape'

Nape v2.0.0 — Релиз

Ну вот и случилось — Nape v2.0.0 вышел! Что тут сказать, Лука проделал большую работу в самой библиотеке и запустил сайт для Nape — napephys.com, где возможно найти туториалы, примеры, отличную документацию и ссылки на саму библиотеку. Изменений, улучшений и исправлений было очень много, не вижу смысла переписывать их сюда. Тут его официальная новость о [...]

Nape 2 — Тест производительности создания некоторых структур

Этот пост есть небольшое дополнение к этому посту. Только тогда я не сделал замер производительности. Когда открыл для себя Vec2.get() написал Луке мол классно он придумал запулить тип Vec2 и что хорошо было бы запулить другие типы (да и вообще все что возможно ). Он ответил, что не видит в этом смысл, так как это [...]

Nape 2 — Сравнение производительности списков

Две недели назад, 18 сентября (за сутки до рождения сына ) сделал я тест производительности нейповских списков в сравнение со списками известной библиотеки ds (в прошлом as3ds). Благодаря генерикам в haxe и препроцессору caxe, все листы в нейпе, имея одну природу, типизированы: Vec2List, ShapeList, BodyList и т.д. Потому работа всех листов в нейп идентична. Кроме [...]

Nape 2 — Единицы измерения. Плотность не ок

Недавно решая одну задачу (я еще напишу о ней) в Nape, некоторые значения ну очень не сходились и у меня закралось смутное сомнение. Я знаю, что Nape использует систему СИ (или еще МКС — метр, килограмм, секунда). То есть, получается, что: 1 метр = 1 пиксель скорость = пиксель/секунду ускорение = пиксель / секунду в [...]

Nape 2 — Работаем эффективно с Vec2

В Nape есть класс Vec2 представляющий собой реализацию вектора. Помню, что где то читал на форуме люди жаловались мол много экземпляров этого класса создается, как это уменьшить и т.д. Поставил себе задачу разобраться более глубже с этим классом для эффективного его использования (в рамка моего двига). Порыл доку, поспрашивал у Луки, почитал сорсы и вот [...]

Update 1 — nape, genome2d

Давно ничего не писал ни по Nape ни по Genome2D. Во-первых, нету времени, а во-вторых эти библиотеки динамически развиваются и постоянно апдейтить не получается. И ведь так случается, что не просто апдейт с фиксами, а с новой функциональностью или с утратой обратной совместимости. В Nape, начиная с Milestone 10.1 (и несколько билдов после), была добавлена [...]

Nape 2 — Соединения

Их называют по разному: соединения (joints), ограничения (constraints). Смысл один — мы ограничиваем наши тела в движении и соединяем между собой. Я буду использовать термин соединения (joint), мне так больше нравится (Nape использует термин ограничение (constraints), но только для базового класса и для пакета где они находятся, а все остальные ограничения Лука переназвал с окончанием [...]

Nape 2 — Добавим графику

Сегодня поговорим как добавить к телу графику и обрабатывать ее. Для работы с графикой у Nape есть два метода — свойство graphic и метод graphicUpdate класса Body. Свойство graphic является без типовым, это значит что вы можете ему присвоить все что угодно. Для начала поговорим о graphic. Возьмем какую-нибудь картинку и прикрутим к телу, так [...]

Nape 2 — Фильтрация взаимодействий

Каждый шейп имеет свойство filter типа InteractionFilter. Это свойство дает возможность сказать Nape какие фигуры надо принимать во внимании при сталкивании, а какие нет. Работает это дело не основе битовых масок — для сталкиваемых шейпов задаются числа (наглядней всего в шестнадцатеричном виде). Если результат операции конъюнкции (или побитовый оператор & в AS3) над этими числами [...]

Nape 2 — Линейное и угловое торможение для мира

Иногда требуется задать линейное и угловое торможение для всего мира. Например, вы делаете бильярд или другую какую нибудь top-down игру (гонки напр.). Скорее всего вы будете делать следующим образом — зададите гравитацию в 0,0 и будете двигать объектами. Но, надо как нибудь задать торможение объектам, чтобы объекты останавливались через некоторое время (шары вечно летать по [...]

« Старые посты