Exemplo n.º 1
0
def rot_img(sprite):
    angle = gravity.get_angle(sprite.physics)
    if angle:
        if hasattr(sprite,"down") and sprite.down==-1:
            angle+=180
        if hasattr(sprite,"direction") and sprite.direction==1:
            img = pygame.transform.flip(sprite.image_orig,True,False)
            sprite.image=pygame.transform.rotate(img,angle)
        else:
            sprite.image=pygame.transform.rotate(sprite.image_orig,angle)
        sprite.mask=pygame.mask.from_surface(sprite.image)
        center=sprite.rect.center
        sprite.rect=sprite.image.get_rect()
        sprite.rect.center=center
Exemplo n.º 2
0
    for sprite in layeredgroup.sprites():
        rot_img(sprite)
        sprite.rect.center=sprite.physics.pos

    for sprite in layeredgroup.sprites():
        if not sprite.physics.rest:
            sprite.dirty=1
    
    layeredgroup.draw(world,background)
    screen.blit(world,(0,0))
    hud.fill((0,0,0,0))
    
    if mode == "shoot":
        s = (4 + shoot_time / 3) * 10
        surf=pygame.transform.scale(aim_png,(s,min(32,s)))
        angle=gravity.get_angle(currentplayer.physics)
        if currentplayer.direction == 0:
            ov = pygame.transform.rotate(surf,180-shoot_angle+angle)
            r = ov.get_rect()
            r.center = currentplayer.rect.center
            hud.blit(ov,r.topleft)
        else:
            ov = pygame.transform.rotate(surf,shoot_angle+angle)
            r = ov.get_rect()
            r.center = currentplayer.rect.center
            hud.blit(ov,r.topleft)
        weapon_hud=weapon
        if currentplayer.ammo[weapon] > 0:
            weapon_hud += " x"+str(currentplayer.ammo[weapon])
        ren = font2.render(weapon_hud,1,(255,255,255))
        hud.blit(ren,(10,30))