微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

pygame.transform.scale什么都不做

如何解决pygame.transform.scale什么都不做

我有一个大图像spaceship.png(我认为它是512x512),我希望它在屏幕上显示32x32个像素。

from time import sleep
import pygame as pg

HEIGHT = 600
WIDTH = 800


def main():
    pg.init()

    screen = pg.display.set_mode((WIDTH,HEIGHT))

    player_img = pg.image.load('assets/spaceship.png')
    pg.transform.scale(player_img,(32,32))

    for i in range(1000):
        screen.fill((0,0))
        screen.blit(player_img,(i,50))
        pg.display.update()

        # Check for QUIT event
        if pg.event.peek(eventtype=pg.QUIT):
            break
        sleep(0.1)

预期结果:飞船应显示为32x32的小图像,并在屏幕上缓慢移动。

实际结果:该飞船显示为512x512的大型图片,并在屏幕上缓慢移动。

我认为pg.transform.scale(player_img,32))会将player_img的宽度和高度设置为32,但是该调用似乎没有任何作用。如何缩小图像?

解决方法

pygame.transform.scale()不能在适当位置缩放表面。返回一个新的但缩放的曲面:

pg.transform.scale(player_img,(32,32))

player_img = pg.transform.scale(player_img,32))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。