
Air VS OpenFL. Тест Nape.



Всем привет!
Наконец-то я собрался и сделал демки на AS3 и Haxe, чтобы сравнить производительность Nape на iPad 3.
Читать дальше →

Snailboy
Многие уже видели игру SnailBoy в интервью на сайте Adobe. Кто не видел — почитайте. Кто не желает тратить время — просто вкратце переведу суть и в конце интересную вещь напишу, которую выудил совершенно случайно :)

Читать дальше →

Читать дальше →

inkscape+nape=лю...
1
Всем привет.
Я тут решил сделатьклон пушкиновую оригинальную игру с физикой, и задался вопросом, в чем делать уровни. Делать свой редактор сильно лень (это вообще преобладающее чувство последнее время). Flash IDE у меня нет. В общем решил посмотреть на Inkscape. Оказалось, что svg довольно простой формат для обработки. Не скажу, что я решил свою задачу полностью (см.выше про лень), но загрузка данных для физики из svg у меня есть.

Читать дальше →
Я тут решил сделать

Читать дальше →

Новый nape. Приложение сил к телам и raycast
Новый nape:
1. Новый nape. Hello world
2. Новый nape. Обработка событий
3. Новый nape. Testbed. И немного теории
4. Новый nape. Создание тел, материалы, фильтрация столкновений
5. Новый nape. Соединение тел
6. Новый nape. Приложение сил к телам и raycast (Его вы сейчас читаете)
Все примеры кода в Testbed: Скачать проект для FlashDevelop.
Приложение сил и импульсов к телам.
Как мы можем повлиять на тело в nape? Можно просто указать ему новое положение или скорость — но такое воздействие лежит за пределами физической симуляции, можно прицепить к нему constraint — это вполне в рамках физики, но не всегда подходит, есть еще один вариант, и его мы не рассматривали, — можно приложить к телу силу или импульс.
Читать дальше →
1. Новый nape. Hello world
2. Новый nape. Обработка событий
3. Новый nape. Testbed. И немного теории
4. Новый nape. Создание тел, материалы, фильтрация столкновений
5. Новый nape. Соединение тел
6. Новый nape. Приложение сил к телам и raycast (Его вы сейчас читаете)
Все примеры кода в Testbed: Скачать проект для FlashDevelop.
Приложение сил и импульсов к телам.
Как мы можем повлиять на тело в nape? Можно просто указать ему новое положение или скорость — но такое воздействие лежит за пределами физической симуляции, можно прицепить к нему constraint — это вполне в рамках физики, но не всегда подходит, есть еще один вариант, и его мы не рассматривали, — можно приложить к телу силу или импульс.
Читать дальше →

Новый nape. Соединение тел.
Новый nape:
1. Новый nape. Hello world
2. Новый nape. Обработка событий
3. Новый nape. Testbed. И немного теории
4. Новый nape. Создание тел, материалы, фильтрация столкновений
5. Новый nape. Соединение тел (Его вы сейчас читаете)
6. Новый nape. Приложение сил к телам и raycast
Все примеры кода в Testbed: Скачать проект для FlashDevelop.
По сравнению, с той версией, что использовалась при написании первой части, были исправлены всякие ошибки в nape, в том числе касающиеся темы данной статьи, при написании примеров к этой статья я использовал версию m6.1 r61.
Соединения тел
Соединения тел в nape называются Constraint, более правильно это перевести как ограничение взаимного движения тел, но я буду все равно называть их соединениями. В nape есть следующие виды соединений:

Читать дальше →
1. Новый nape. Hello world
2. Новый nape. Обработка событий
3. Новый nape. Testbed. И немного теории
4. Новый nape. Создание тел, материалы, фильтрация столкновений
5. Новый nape. Соединение тел (Его вы сейчас читаете)
6. Новый nape. Приложение сил к телам и raycast
Все примеры кода в Testbed: Скачать проект для FlashDevelop.
По сравнению, с той версией, что использовалась при написании первой части, были исправлены всякие ошибки в nape, в том числе касающиеся темы данной статьи, при написании примеров к этой статья я использовал версию m6.1 r61.
Соединения тел
Соединения тел в nape называются Constraint, более правильно это перевести как ограничение взаимного движения тел, но я буду все равно называть их соединениями. В nape есть следующие виды соединений:
- PivotJoint — самое привычное соединение, два тела соединяются так, что две точки на них всегда совпадают
- DistanceJoint — расстояние между двумя заданными точками двух тел поддерживается в заданных пределах
- LineJoint — точка на одном теле движется по отрезку на другом теле
- WeldJoint — два тела движутся полностью вместе, как если бы все их фигуры добавили к одному телу
- AngleJoint — ограничивает угол поворота одного тела относительного другого в заданных пределах. Тела при этом могут разлететься как угодно далеко, так что обычно стоит использовать вместе с PivotJoint. Кроме того можно задавать соотношение углов поворота: это может пригодится, например, при создании чего-то вроде шестеренок.
- MotorJoint — задает соотношение скоростей вращения двух тел. При определенных параметрах может использоваться как мотор. Также имеет смысл использовать вместе с PivotJoint.

Читать дальше →

Новый nape. Создание тел, материалы, фильтрация столкновений.
Новый nape:
1. Новый nape. Hello world
2. Новый nape. Обработка событий
3. Новый nape. Testbed. И немного теории
4. Новый nape. Создание тел, материалы, фильтрация столкновений(Его вы сейчас читаете)
5. Новый nape. Соединение тел
6. Новый nape. Приложение сил к телам и raycast
Все примеры кода в Testbed: Скачать проект для FlashDevelop.
Немного про тела
Казалось бы уже рассматривали создание тел, тем не менее мне задают вопросы в личку, а значит мало рассматривали.
Тело (Body) в nape — это нечто, обладающее массой, моментом инерции, текущим положением и углом поворота, а также скоростями движения и вращения. Одно тело может состоять из нескольких фигур (Shape). У каждого тела есть своя собственная локальная система координат, которая движется и вращается вместе с телом, таким образом при движении тела в его собственной системе координат все фигуры остаются на месте. Для преобразования между системами координат у класса Body есть методы worldToLocal и localToWorld.
Читать дальше →
1. Новый nape. Hello world
2. Новый nape. Обработка событий
3. Новый nape. Testbed. И немного теории
4. Новый nape. Создание тел, материалы, фильтрация столкновений(Его вы сейчас читаете)
5. Новый nape. Соединение тел
6. Новый nape. Приложение сил к телам и raycast
Все примеры кода в Testbed: Скачать проект для FlashDevelop.
Немного про тела
Казалось бы уже рассматривали создание тел, тем не менее мне задают вопросы в личку, а значит мало рассматривали.
Тело (Body) в nape — это нечто, обладающее массой, моментом инерции, текущим положением и углом поворота, а также скоростями движения и вращения. Одно тело может состоять из нескольких фигур (Shape). У каждого тела есть своя собственная локальная система координат, которая движется и вращается вместе с телом, таким образом при движении тела в его собственной системе координат все фигуры остаются на месте. Для преобразования между системами координат у класса Body есть методы worldToLocal и localToWorld.
Читать дальше →

Новый nape. Testbed. И немного теории.
Новый nape:
1. Новый nape. Hello world
2. Новый nape. Обработка событий
3. Новый nape. Testbed. И немного теории. (Его вы сейчас читаете)
4. Новый nape. Создание тел, материалы, фильтрация столкновений
5. Новый nape. Соединение тел
6. Новый nape. Приложение сил к телам и raycast
Все примеры кода в Testbed: Скачать проект для FlashDevelop.
По хорошему этот пост должен был идти вторым, а не третьим. Когда я начал писать очередной пост про nape, я понял, что до сих пор изложение было довольно сумбурным и непоследовательным. Думаю, оно и дальше будет таким же, но все же предлагаю навести небольшой порядок, чтобы было легче двигаться дальше.
Читать дальше →
1. Новый nape. Hello world
2. Новый nape. Обработка событий
3. Новый nape. Testbed. И немного теории. (Его вы сейчас читаете)
4. Новый nape. Создание тел, материалы, фильтрация столкновений
5. Новый nape. Соединение тел
6. Новый nape. Приложение сил к телам и raycast
Все примеры кода в Testbed: Скачать проект для FlashDevelop.
По хорошему этот пост должен был идти вторым, а не третьим. Когда я начал писать очередной пост про nape, я понял, что до сих пор изложение было довольно сумбурным и непоследовательным. Думаю, оно и дальше будет таким же, но все же предлагаю навести небольшой порядок, чтобы было легче двигаться дальше.
Читать дальше →

Новый nape. Обработка событий.
Новый nape:
1. Новый nape. Hello world
2. Новый nape. Обработка событий. (Его вы сейчас читаете)
3. Новый nape. Testbed. И немного теории
4. Новый nape. Создание тел, материалы, фильтрация столкновений
5. Новый nape. Соединение тел
6. Новый nape. Приложение сил к телам и raycast
В новом nape предусмотрена обработка самых разных событий:
1. Засыпание/просыпание тела;
2. Засыпание/просыпание соединения (ограничения взаимного движения, joint) тел;
3. Превышение допустимой нагрузки и разрыв соединения тел;
4. Начало/конец/продолжение контакта между телами.
На сегодняшний день впрочем не реализована большая часть этих возможностей.
Читать дальше →
1. Новый nape. Hello world
2. Новый nape. Обработка событий. (Его вы сейчас читаете)
3. Новый nape. Testbed. И немного теории
4. Новый nape. Создание тел, материалы, фильтрация столкновений
5. Новый nape. Соединение тел
6. Новый nape. Приложение сил к телам и raycast
В новом nape предусмотрена обработка самых разных событий:
1. Засыпание/просыпание тела;
2. Засыпание/просыпание соединения (ограничения взаимного движения, joint) тел;
3. Превышение допустимой нагрузки и разрыв соединения тел;
4. Начало/конец/продолжение контакта между телами.
На сегодняшний день впрочем не реализована большая часть этих возможностей.
Читать дальше →

Новый nape. Hello world.
1
Новый nape:
1. Новый nape. Hello world. (Его вы сейчас читаете)
2. Новый nape. Обработка событий
3. Новый nape. Testbed. И немного теории
4. Новый nape. Создание тел, материалы, фильтрация столкновений
5. Новый nape. Соединение тел
6. Новый nape. Приложение сил к телам и raycast
Все, наверное, слышали про физический 2d движок nape, как и про то, что уже некоторое время его автор делает новую версию, с другим API и внутри тоже другую. Я понемногу ковыряюсь в том, как этой новой версией пользоваться, и решил написать небольшое введение.
Читать дальше →
1. Новый nape. Hello world. (Его вы сейчас читаете)
2. Новый nape. Обработка событий
3. Новый nape. Testbed. И немного теории
4. Новый nape. Создание тел, материалы, фильтрация столкновений
5. Новый nape. Соединение тел
6. Новый nape. Приложение сил к телам и raycast
Все, наверное, слышали про физический 2d движок nape, как и про то, что уже некоторое время его автор делает новую версию, с другим API и внутри тоже другую. Я понемногу ковыряюсь в том, как этой новой версией пользоваться, и решил написать небольшое введение.
Читать дальше →