Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Lynatik001
38 / 32 / 4
Регистрация: 28.09.2012
Сообщений: 620
#1

Box2d - создание в теле более одной фигуры\сенсора - C++

21.08.2014, 18:59. Просмотров 505. Ответов 3
Метки нет (Все метки)

Вот у меня есть персонаж - вот так он создается
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
    player = lvl->GetObject("Naruto");
    b2BodyDef bodyDef;
    bodyDef.type = b2_dynamicBody;
    bodyDef.position.Set(player.rect.left, player.rect.top);
    bodyDef.fixedRotation = true;
    playerBody = world->CreateBody(&bodyDef);
    b2PolygonShape shape; shape.SetAsBox(player.rect.width / 2, player.rect.height / 2);
    b2FixtureDef fixtureDef;
    fixtureDef.shape = &shape;
    fixtureDef.density = 1.0f; fixtureDef.friction = 0.3f;
    playerBody->CreateFixture(&fixtureDef);
    plwidth = player.rect.width;
    plheight = player.rect.height;
как мне в этом теле создать еще 1 фигуру и розместить ее по локальным координатам.
Что-то в документации видел setLocalPosition, но его нет. Да и понятия не имею как еще 1 фигуру создать в теле, ли добавить еще 1 фикстуру, или еще полигон шейп добавить с фикстурой. Документация капец скудная. Сижу мучаюсь.
что бы понять и потом создать сенсор под фигурой для того что б смотреть ли нахожусь я на земле или в воздухе. Что б не мог прыгать пока в воздухе.

Добавлено через 12 часов 1 минуту
Актуально, забыл написать использую последнюю версию box2d

Добавлено через 4 часа 25 минут
Сам решил, Может кому интересно будет.
Нашел методом тыка, рыскал в методах смотрю о SetAsBox принимает еще 2 параметра во 2 варианте. И вижу что один из тех параметров b2Vec2 и понял что это координаты.
версия Box2D_v2.3.0
C++
1
2
3
4
5
6
7
    const b2Vec2 pos(0, player.rect.height/2);
    b2PolygonShape shape2; shape2.SetAsBox(player.rect.width/2, 3, pos,0);
    b2FixtureDef fixtureDef2;
    fixtureDef2.isSensor = true;
    fixtureDef2.shape = &shape2;
    fixtureDef2.density = 1.0f; fixtureDef2.friction = 0.3f;
    playerBody->CreateFixture(&fixtureDef2);
вот таким нехитрым образом добавляем еще одну фигуру(сенсор), убрав
C++
1
fixtureDef2.isSensor = true;
я прощитал что бы он располагался чутка ниже тела.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.08.2014, 18:59     Box2d - создание в теле более одной фигуры\сенсора
Посмотрите здесь:

Box2d лаги при создании более трех динамик объектов - C++
С чем столкнулся когда делал пример что бы понять как управлятся с box2d все решил, но была проблема с тем что при создании динамических...

Написать программу, демонстрирующую движение одной плоской фигуры относительно другой - C++
Ребята помогите! анимация, ни одной идеи в голове:cry: Написать программу, демонстрирующую движение одной плоской фигуры относительно...

Cout - вывод не более 10 чисел в одной строке - C++
Всем здравствуйте! Занимаюсь по книге Липпмана и др " С++ Вводный курс". В одном из материалов есть задание:Напишите программу, которая...

Найти возможные пути для шахматной фигуры «слон» от одной клетки до другой - C++
Найти возможные пути для шахматной фигуры «слон» от одной клетки до другой в пределах шахматной доски. Определить кратчайшие.

Удалить из списка информацию о студентах имеющих более одной двойки - C++
Создать структуру с именем Student с полями: фамилия, имя, номер группы, успеваемость (массив из пяти элементов). Сформировать односвязный...

Найти все числа из массива B (n), которые встречаются более чем в одной строке матрицы A (m, n) - C++
Помогите,пожалуйста,переделать с VBA на Си ,или же составить программу без всяких оптимизаций,просто,что бы работала. Вот задача :Найти все...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
coloc
погромист
409 / 245 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
21.08.2014, 19:39     Box2d - создание в теле более одной фигуры\сенсора #2
Lynatik001, создавать вручную объекты Box2d тот еще геморрой. Лучше пользуйся редакторами тел, сам лично пользуюсь RUBE.
Lynatik001
38 / 32 / 4
Регистрация: 28.09.2012
Сообщений: 620
21.08.2014, 20:05  [ТС]     Box2d - создание в теле более одной фигуры\сенсора #3
Цитата Сообщение от coloc Посмотреть сообщение
создавать вручную объекты Box2d тот еще геморрой. Лучше пользуйся редакторами тел, сам лично пользуюсь RUBE.
ок посмотрю что за вещь)

Добавлено через 12 минут
Цитата Сообщение от coloc Посмотреть сообщение
RUBE
только для JS?
для С++ он подойдет?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.08.2014, 22:36     Box2d - создание в теле более одной фигуры\сенсора
Еще ссылки по теме:

Вычислить индекс последнего минимального элемента, с использованием одной или более рекурсивных функций - C++
Здравствуйте. Не совсем понимаю, как эту программу переписать через рекурсию. Помогите, пожалуйста или подскажите , как это можно...

Напечатать все пары городов, связанных между собой не напрямую, но не более чем с одной пересадкой - C++
Помогите пожалуйста в C++ Сеть авиалиний, соединяющая города, задана матрицей связности M(k,k), где Mi(j = о, если города /, j не ...

Box2d как установить в проект? - C++
как Подключить box2d к VS 2012, искал в гугле там говорится нужно исходники скаченные с офф сайта скомпилировать Cmake. ну я попробывал,...

Не получается создать мир в Box2D - C++
скачал эту хорошую и удобную библиотеку. у меня версия 2.3.0. читаю документацию с сайтов: Руководство по Box2D и Box2D в...

Вводить название фигуры, выводить формулу для вычисления площади этой фигуры - C++
Вводить название фигуры (треугольник, квадрат, ромб, прямоугольник) выводить формулу для вычисления площади этой фигуры.

Зачем нужно компилировать библиотеку C++ Box2d? - C++
Мне интересна причина того, почему разработчики некоторых C++ библиотек (в моей ситуации Box2d) не дают dll или lib библиотеки, а дают...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
coloc
погромист
409 / 245 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
21.08.2014, 22:36     Box2d - создание в теле более одной фигуры\сенсора #4
Цитата Сообщение от Lynatik001 Посмотреть сообщение
для С++ он подойдет?
Да. Там есть пример loader-a для плюсов.
Yandex
Объявления
21.08.2014, 22:36     Box2d - создание в теле более одной фигуры\сенсора
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru