2014-02-03 5 views
0

Привет, Я разрабатываю автомобильную игру. В нем у меня есть машина игрока и машина врагов. То, что я хочу сделать, - в какой-то конкретный момент автомобиль игрока не должен сталкиваться с машиной противников. Для этого я хочу обновить маску автомобиля игрока во время выполнения. Я сделал пользовательский класс спрайта и использовать эту строку кода, чтобы сделать такAndengine, как обновить маску бит тела во время выполнения

mPhysicsWr.getPhysicsConnectorManager() 
      .findBodyByShape(this) 
      .getFixtureList() 
      .get(0) 
      .getFilterData() 
      .maskBits=0; 

, но до сих пор не обновление maskbit тела этого спрайта. Любая идея ..? Спасибо.

ответ

1

Вы будете нуждаться, чтобы назначить данные фильтра снова с помощью:

Filter filter = new Filter(); 
filter.maskBits = yourMaskBits;   mPhysicsWr.getPhysicsConnectorManager().findBodyByShape(this).getFixtureList().get(0).setFilterData(filter); 

Для почти каждого Получа в Box2D есть соответствующий метод Set. Его довольно необычно в API, чтобы напрямую устанавливать свойства. Большую часть времени вы будете использовать геттеры и сеттеры.

+1

Спасибо @Plastic Sturgeon.It работал отлично. :) – DevUsman

+0

Рад это услышать. Пожалуйста, нажмите, чтобы принять ответ, чтобы он не появлялся в неотвеченных вопросах для других. –