Как я могу быстрее проверять столкновения, чтобы прекратить поэтапно, когда он находится на высокой скорости через мою пPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу быстрее проверять столкновения, чтобы прекратить поэтапно, когда он находится на высокой скорости через мою п

Сообщение Anonymous »

В моем проекте Pygame у меня есть персонаж, который может обрезать платформы, когда игрок нажимает S, чтобы они могли перейти на более низкую платформу, как, например, в Super Smash Bros. Однако, когда персонаж переходит от самой высокой платформы к самой низкой платформе на высоких скоростях, он проникает через платформу. Вот где я проверяю столкновения: < /p>

Код: Выделить всё

def move(self, dt, platforms):
# horizontal movement
self.rect.centerx += round(self.velocity_x * SPEED['player'] * dt)

# vertical movement
self.velocity_y += GRAVITY * dt
self.rect.centery+= round(self.velocity_y * dt)
# ground collision
if self.rect.bottom >= WINDOW_HEIGHT:
self.rect.bottom = WINDOW_HEIGHT
self.velocity_y = 0

for platform in platforms:
if self.rect.colliderect(platform):
if self.velocity_y >= 0 and self.jump_check(platforms): # falling down
self.rect.bottom = platform.top + 1
self.velocity_y = 0
< /code>
И вот функция jump_check < /p>
def jump_check(self, platforms):
for platform in platforms:
if self.rect.colliderect(platform) and abs(self.rect.bottom - platform.top) < 10 and self.velocity_y >= 0:
return True
return False
заранее спасибо

Подробнее здесь: https://stackoverflow.com/questions/794 ... ty-through
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»