Форум сайта python.su
При попадании в одного из противником все почему то улетают за пределы окна, в модуле alen.py есть фуекция проверки выхода противников за пределы при выходе возвращает true, в модуле game.function aфунция перебирающая все спрайты и если alien.check_edges() tRUE ТО МЕНЯЕТСЯ НАПРАВЛЕНИЕ И ВЫСОТА ВСЕХ СПРАЙТОВ , КОГДА НЕ СТРЕЛЯЕШЬ ВСЕ НОРМ , ПРИ ПОПАДАНИИ УЛЕТАЮТ ЗА ПРЕДЕЛЫ ЭКРАНА! ПОЧЕМУ ??? БИБЛИОТЕКА pygame ,из книги Eric_Matthes_Izuchaem_Python.
def check_fleet_edges(ai_settings, aliens,alien):
for alien in aliens.sprites():
if alien.check_edges():
change_fleet_direction(ai_settings, aliens,alien)
print(alien.check_edges())
break
def change_fleet_direction(ai_settings, aliens,alien):
for alien in aliens.sprites():
ai_settings.fleet_direction *= -1
alien.rect.y += ai_settings.fleet_drop_speed
def update_aliens(aliens,ai_settings,alien):
check_fleet_edges(ai_settings, aliens,alien)
aliens.update()
Ссылка на гитхаб
Офлайн