Установите ограничение для перемещения объекта класса b2Body в приложении coco2d для iPhone

#iphone #cocos2d-iphone

#iPhone #cocos2d-iphone

Вопрос:

У меня есть один объект класса b2Body. Но я был готов переместить, скажем, 25% экрана снизу. Но он продолжает двигаться, хотя я установил границы.

Другим вариантом было использовать setPosition, как только я достигну этого условия, но в документации этот метод существует, но во время реализации он выдает ошибку.

Кто-нибудь может, пожалуйста, помочь?

Спасибо,

Ankita

Ответ №1:

Вот отличный учебник, в котором объясняются основы Box2D, продемонстрированные с использованием cocos2d для рисования. В нем конкретно показано, как создать физические границы для экрана, что, я думаю, является лучшим способом достижения того, что вы хотите сделать, чем «вмешательство» в мир box2d путем прямого задания положений и сил.

Комментарии:

1. Это для полной игры. Мне нужно тело только для определенного объекта. Если взять пример этой игры. Я хочу, чтобы только панель объектов имела некоторые границы для перемещения.

2. @Ankita мой плохой в этом случае, я, вероятно, удалю этот ответ. В любом случае, почему вы говорите о какой-то панели стилей wall breaker? В таком случае рассматривали ли вы возможность проверки положения при вводе и, возможно, не применять перемещение, если оно выходит за его пределы

3. Да, я проверил, проверив его значения x и y, но безуспешно. Не могли бы вы, пожалуйста, подсказать мне какой-нибудь подход, который, по вашему мнению, сработал бы?

4. @Ankita когда Pad выйдет за его пределы, попробуйте Pad. Установить линейную скорость (новый b2Vec2(0, 0));

Ответ №2:

Вы можете просто добавить CCColorLayer и поместить в него b2Body. Он будет перемещаться только для этого слоя. Вы можете задать x, y, высоту и ширину слоя.