Мяч начинается в позициях 0, 0. На каждом временном шаге с тех пор, пока он не коснется стены, его позиции x и y увеличиваются на 1. Таким образом, в момент 471 его позиция равна (471, 471).В этот момент оба условия x и y выполняются, поэтому оба переключаются, и шар полностью поворачивается.
Если вы измените начальную позицию на что-то вроде (0, 30) или измените одно изпри скорости, отличной от 1 или -1, вы увидите, что ваш код работает.Мяч всегда будет следовать некоторой петле, но из-за размера кадра и расположения мяча у вас получится очень мало.
Однако я бы посоветовал вам удалить остальные условия.В одном кадре возможно, чтобы шар находился слишком далеко влево и слишком далеко вниз, поэтому в этом кадре должны быть зафиксированы оба условия, а не одно.Кроме того, вы можете заметить, что мяч продолжает падать с экрана в направлении y.Это потому, что ваш основной кадр установлен на той же высоте, что и панель.Высота рамки включает часть, используемую для верхней панели окна, поэтому она должна быть немного больше, чем панель, на которой она держится.