Воскресенье, 22 Декабря 2024, 04:49

Приветствую Вас Гость

Меню сайта
Категории каталога
Создание игр [358]
Статьи об общих понятиях связанных с созданием игр.
Программирование [85]
Гайды по программированию на разных ЯП.
Движки и Гейммейкеры [151]
Статьи о программах для создания игр, уроки и описания.
Софт [44]
Различные программы, в том числе в помощь игроделам.
2D-графика [14]
Уроки по рисованию, растр, пиксель-арт, создание спрайтов и пр.
3D-графика [17]
Уроки по моделированию, ландшафт, модели, текстурирование и пр.
Моддинг игр [5]
Модификация компьютерных игр, создание дополнений, перевод, хакинг.
Игры [169]
Статьи об играх, в том числе и сделанных на гейммейкерах.
Разное [133]
Статьи, которые не вошли в определённые разделы.
Наш опрос
Ваше отношение к российским разработкам?
Всего ответов: 5767
Главная » Статьи » Программирование

Быстрый пример Phaser Box2D

В этом примере мы создадим простую физическую сцену со статической наземной платформой, на которую мы сбросим 2 динамических тела. Полный код выглядит следующим образом (за исключением операторов импорта):

Код

class Example extends Phaser.Scene {

constructor () {
super();
}

create () {

SetWorldScale(40);

const debug = this.add.graphics();
const world = CreateWorld({ worldDef: b2DefaultWorldDef() });
const worldId = world.worldId;

CreateBoxPolygon({
worldId,
type: DYNAMIC,
position: pxmVec2(630, 64),
size: 1,
density: 1.0,
friction: 0.2,
color: b2HexColor.b2_colorGold
});

CreateCircle({
worldId,
type: DYNAMIC,
position: pxmVec2(690, 0),
radius: 1,
density: 1.0,
friction: 0.5,
color: b2HexColor.b2_colorRed
});

const groundBodyDef = b2DefaultBodyDef();

groundBodyDef.rotation = RotFromRad(-0.06);

CreateBoxPolygon({
worldId,
type: STATIC,
bodyDef: groundBodyDef,
position: pxmVec2(640, -600),
size: new b2Vec2(20, 1),
density: 1.0,
friction: 0.5,
color: b2HexColor.b2_colorLawnGreen
});

this.world = world;
this.debug = debug;

this.worldDraw = new PhaserDebugDraw(debug, 1280, 720, GetWorldScale());
}

update (time, delta) {

const worldId = this.world.worldId;

WorldStep({ worldId, deltaTime: delta });

this.debug.clear();

b2World_Draw(worldId, this.worldDraw);
}
}

const config = {
type: Phaser.AUTO,
width: 1280,
height: 720,
scene: Example
};

const game = new Phaser.Game(config);
Этот код должен быть вам очень знаком, если у вас есть опыт работы с Phaser. Мы используем игровой объект Phaser Graphics для рендеринга нашего мира. Это идеально подходит для быстрых тестов и отладки. Конечно, вы также можете привязывать тела к спрайтам!

Вот что говорят авторы плагина Phaser Box2D: "Мы чрезвычайно довольны тем, как получился этот продукт. Это была большая тяжелая работа, много отладки и настройки, но в конечном итоге мы почувствовали, что пришло время сделать библиотеку физики, соответствующую отраслевому стандарту, доступной для веб-игр, и мы в восторге от того, что создали именно ее. Она быстрая, стабильная и мощная".

Так что берите этот пример, изучайте и делайте своё.
Категория: Программирование | Добавил: Gnomov (вчера) | Автор: Кодер
Просмотров: 15 | Рейтинг: 5.0/1 |
Теги: Box2D, программирование, Шаблон, quick, phaser, физика, Physics, Phaser Studio, Example, javascript, Phaser Box2D, Пример, код, js, Физический движок
Дополнительные опции:
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:

Игровые объявления и предложения:
Если вас заинтересовал материал «Быстрый пример Phaser Box2D», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела. Предлагаются такие схожие материалы: Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.

Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск по сайту
10 случ. движков
  • TDG
  • FOnline
  • UPBGE
  • Wicked Engine
  • DizzyAGE
  • MegaKerma
  • WorldSim3D
  • BatteryTech
  • O.H.R.RPG.C.E
  • Pocket Platformer
  • Друзья сайта
    Игровой форум GFAQ.ru Перевод консольных игр
    Все права сохранены. GcUp.ru © 2008-2024 Рейтинг