cocos2d-x: setCatgoryBitmask не работает - PullRequest
0 голосов
/ 03 июня 2018

По какой-то причине функция setBatgoryBitmask() из PhysicsBody в cocos2d-x не имеет никакого эффекта:

    OutputDebugStringA("Wall cat bitmask : ");
    OutputDebugStringA(std::to_string(body->getCategoryBitmask()).c_str());
    OutputDebugStringA("\n");
    body->setCategoryBitmask(2);
    OutputDebugStringA("Wall cat bitmask : ");
    OutputDebugStringA(std::to_string(body->getCategoryBitmask()).c_str());
    OutputDebugStringA("\n");
    body->addShape(PhysicsShapeEdgeBox::create(Size(dest - or ), mat, borderW));
    OutputDebugStringA("Wall cat bitmask : ");
    OutputDebugStringA(std::to_string(body->getCategoryBitmask()).c_str());
    OutputDebugStringA("\n");

Результат:

Wall cat bitmask : -1
Wall cat bitmask : -1
Wall cat bitmask : -1

В результате я не могу определитьчто с чем сталкивается.И setCategoryBitmask, и getCategoryBitmask кажутся простыми установщиками и получателями, поэтому я понятия не имею, что здесь происходит.

1 Ответ

0 голосов
/ 03 июня 2018

Хорошо, это глупо.Кажется, что вы не можете установить категорию или битовую маску столкновения, если ваше тело еще не имеет формы.Установка их после добавления первой фигуры, похоже, решает проблему.

...