def move_dot(window, center, radius, velocity):
size = (window.get_width(), window.get_height())
for index in range(0, 2):
# update center at coordinate
center[index] = center[index] + velocity[index]
# dot edge outside window?
if (center[index] <= radius) or (center[index] + radius >= size[index]):
# change direction
velocity[index] = - velocity[index]
Это мой код выше для программы, которая подпрыгивает внутри окна. У меня есть вопрос: что я использую для замены строки if (center[index] <= radius) or (center[index] + radius >= size[index]):
ONLY , чтобы ее центр касался края окна, а не подпрыгивал, когда один из его краев касается края окна. (Я приложу полный вопрос ниже, чтобы кто-нибудь лучше понимал, что я пытаюсь сделать.
[какой код должен заменить «условие оператора if», если вы хотите, чтобы точка отскакивала, когда ее центр касается края окна, вместо того, чтобы отскакивать, когда один из ее краев касается края окна? Вы можете только изменить условие. Вы не можете добавить или удалить какой-либо другой код.]
Я пробовал использовать код if (center[index] <= 0) or (center[index] + radius >= size(window(500,400))):
& if (center[index] <= 0) or (center[index] + radius >= size[window]):
и получаю сообщение об ошибке Incorrect: It should bounce when either coordinate of the center is less than or equal to 0 or larger than or equal to the size (width or height) of the window.
. Может ли кто-нибудь направить меня или помочь мне, пожалуйста. Спасибо
1 ответ
По сути, вы хотите, чтобы мяч отскакивал, когда мяч в центре ударяется о край окна. В настоящее время он закодирован для отскока при ударе мяча краем .
Просто удалите радиусный зазор при проверке положения шара:
if (center[index] <= 0) or (center[index] >= size[index]):
Похожие вопросы
Новые вопросы
python
Python — это мультипарадигмальный многоцелевой язык программирования с динамической типизацией. Он предназначен для быстрого изучения, понимания и использования, а также обеспечивает чистый и унифицированный синтаксис. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Если у вас есть вопросы о версии Python, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas, NumPy) укажите это в тегах.