Я создаю игру, в которой шары отскакивают от внутри гораздо большего круга. Большой круг не двигается.
Вот код, который я m, которые в настоящее время используются для этих столкновений:
def collideCircle(circle, ball):
"""Check for collision between a ball and a circle"""
dx = circle.x - ball.x
dy = circle.y - ball.y
distance = math.hypot(dx, dy)
if distance >= circle.size + ball.size:
# We don't need to change anything about the circle, just the ball
tangent = math.atan2(dy, dx)
ball.angle = 2 * tangent - ball.angle
ball.speed *= elasticity + 0.251
angle = 0.5 * math.pi + tangent
ball.x -= math.sin(angle)
ball.y += math.cos(angle)
Он основан на замечательном учебнике Питера Коллингриджа здесь .
Круг и шар являются классами с (x, y), радиусом, угол и скорость.
Однако у меня есть две проблемы с этим методом:
Рассмотрев возможные решения уже здесь, в частности «обнаружение столкновений быстрого круга» [ссылка удалена из-за лимита ссылок на спам], что, Некоторые красные тексты указывают на недостающие файлы из исходных кодов проекта. Как этого избежать?
Когда я перемещаю каталог проекта iphone на новый путь. Некоторые красные тексты указывают на недостающие файлы из исходных кодов проекта.
Обеспечивает ли Windows Forms DataGridView значительную производительность по сравнению с WPF DataGrid для больших объемов данных?
Если бы мне пришлось использовать WPF, я бы предпочел использовать .Net 3.5S SP1, если только DataGrid в .Net 4 не является значительно лучше?
Также я хочу использовать ADO с DataTable, который, как мне кажется, лучше подходит для Windows Forms ..