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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать класс для динамического массива с проверкой границ (что подразумевают под инициализацией?) http://www.cyberforum.ru/cpp-beginners/thread1245211.html
Привет, народ, есть такое задание: 2. написать класс для динамического массива с проверкой границ( аналог std::vector ) +должны быть проверки на выход за пределы массива +операции...
C++ Безопасен ли пакет jens-lody-debian-keyring На официальном сайте Codeblocks советуют установить пакет jens-lody-debian-keyring. Но при его установке вышло сообщение: "ВНИМАНИЕ: Следующие пакеты невозможно аутентифицировать! и т.д." Этот пакет... http://www.cyberforum.ru/cpp-beginners/thread1245208.html
Error C2086: char cmd[1024]: переопределение при пинге ресурса C++
Хочу программу заделать чтобы нагрузить немного свой сайт (в коде на примере гугла) #include <iostream> using namespace std; int main() { char cmd; sprintf (cmd,"ping google.com -t -l...
C++ Некорректное ли предупреждение gcc о явно запрещенном конструкторе?
Здравствуйте! У меня есть класс Uncopyable, который явно запрещает копирование. От него наследую класс, в котором есть указатели, и тут g++ выдает мне предупреждение - дескать, в классе та-та-та...
C++ Передача двумерного динамического массива чисел в функцию http://www.cyberforum.ru/cpp-beginners/thread1245146.html
void Map::setCell(int** block, Room* room, int type){ for(int i=room->x; i<room->w; ++i) for(int j=room->y; j<room->h; ++j) block = type; } ... int sheet; ... if(sheet == 0){
C++ Рисовать график wav файла с зумом по времени - на чем? Задача - есть моно wav файл, надо сделать его визуализацию во временнОй области с прокруткой и изменением масштаба по времени в широких пределах. Предложил рисовать с помощью точек и линий в GDI... подробнее

Показать сообщение отдельно
Lynatik001
38 / 32 / 4
Регистрация: 28.09.2012
Сообщений: 620

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

21.08.2014, 18:59. Просмотров 535. Ответов 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;
я прощитал что бы он располагался чутка ниже тела.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru