Adicionar rolagem a um plataforma no pygame
nos jogos do plataforma, os jogadores navegam pelos níveis deles enquanto sua posição na tela permanece centrada. Esse efeito é alcançado através da rolagem, que permite que o mundo dos jogos se mova independentemente da posição do jogador. Este deslocamento é então aplicado à posição de todas as entidades do jogo quando elas são desenhadas na tela. def __init __ (self, câmera_func, largura, altura): self.camera_func = câmera_func self.state = ret (0, 0, largura, altura) Def Aplicar (self, alvo): Return Target.rect.move (self.state.topleft) Def Update (Self, Target): self.state = self.camera_func (self.state, Target.recc)
câmera_func:
determina como a câmera segue o player. pixels. l, t, _, _ = target_rect # l = esquerda, t = topo _, _, w, h = câmera # w = largura, h = altura Return rect (-l half_width, -t half_height, w, h)
MANAZENDO LIMARES DE Nível:
def Complex_camera (câmera, Target_rect): x = -target_rect.center [0] win_width/2 y = -target_rect.center [1] win_height/2 câmera.topleft = (pygame.vector2 ((x, y)) - pygame.vector2 (câmera.topleft)) * 0,06 # Adicione um pouco de suavidade Coolnes câmera.x = max (-(câmera.width-win_width), min (0, câmera.x)) câmera.y = max (-(câmera.height win_height), min (0, câmera.y)) Retorne câmeraclass Camera: def __init__(self, camera_func, width, height): self.camera_func = camera_func self.state = Rect(0, 0, width, height) def apply(self, target): return target.rect.move(self.state.topleft) def update(self, target): self.state = self.camera_func(self.state, target.rect)
use um splite splite e sprite splite. necessidades.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3