Даже если Вы хотите изучить все это с самого начала, библиотека физики с открытым исходным кодом, которая хорошо кодируется и документируется, содержит намного больше информации, чем книга. Как заключают меня сделка с ситуацией x.. найдите в файлах, может быть быстрее, чем бумажный индекс.
Исходный ответ:
, Что, никакое упоминание о Box2D? Параллельный проект с открытым исходным кодом сотрудника снежной бури, имеет хорошее сообщество, и хорошо, работает отлично.
В моем (кратком) опыте с Box2D, интегрируя его с Игровым Разработчиком Крутящего момента, я нашел API чистым для использования, документация была четкой, это поддерживало все объекты физики, которые я ожидал (соединения в особенности были требованием), и сообщество выглядело дружелюбным и активным (когда-то около начала 2010 года).
Оценка по плакатам форума, также казалось, что менеджеры были восприимчивыми к исходным вкладам (который не нес багаж лицензии).
Это - островной решатель, казался довольно быстрым, как я ожидал от его репутации, не, что я сделал любое основное тестирование производительности.
What's the problem?
def self.down
remove_column :addresses, :addressable_type
remove_column :addresses, :addressable_id
end
Что с этим не так?
def self.down
remove_column :addresses, :addressable
end
на самом деле,
change_table :addresses do |t|
t.remove_references :addressable
end
было бы немного резче, не так ли?
править : Как указывает Эбен Гир,
change_table :addresses do |t|
t.remove_references :addressable, :polymorphic => true
end
- правильный способ сделать это. Ура!