Невозможно заменить одно тело / форму двумя телами / формами у пимунка

Я работаю над программой с pymunk и pygame, где я пытаюсь имитировать рост и деление объектов. Я реализовал это, пройдя через программу и удалив каждое тело / форму через определенные промежутки времени и добавив новое, немного большее тело / форму. Я написал отдельные функции для инициализации объектов, увеличения объектов и разделения объектов. Я пытаюсь разделить объекты, заменяя каждое тело / форму двумя телами / формами.

Кажется, это нормально работает с фазой "роста", но когда я перехожу к функции разделения, все тела исчезают с экрана! По операторам print я могу сказать, что в пространстве вдвое больше фигур, чем раньше, и что они затем снова удваиваются после другого интервала, но полностью перестают отображаться. Мои функции по выращиванию и разделению объектов очень похожи, поэтому я не уверен, в чем проблема.

Любая помощь, которую вы могли бы оказать, была бы принята с благодарностью. Моя программа очень длинная, поэтому я не включил свой код, но я могу попробовать включить некоторые, если вы считаете, что это будет полезно.

Похоже, вы создали какое-то «невозможное» состояние, так что объекты не могут поместиться, и пимунк не может решить симуляцию. Лучше всего, если вы обновите свои вопросы с помощью кода разделения. (Одна из распространенных проблем связана с объектами с бесконечной массой или моментом, или статическими / кинематическими телами, взаимодействующими друг с другом)

viblo 24.07.2018 21:07

Поскольку вы описали фазу роста, я также прокомментирую это: обратите внимание, что можно изменить формы уже существующих объектов, например, изменив радиус формы круга.

viblo 24.07.2018 21:11

Я действительно думаю, что понял это - я думаю, что это была проблема синтаксиса, связанная с тем, как я получал доступ к скоростям и положениям x и y. Не так уж сложно исправить. Спасибо за ваши комментарии!

dottified 25.07.2018 00:10
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
3
62
0

Другие вопросы по теме