首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scaling a Sprite Pygame:必须是pygame.surface

Scaling a Sprite Pygame:必须是pygame.surface
EN

Stack Overflow用户
提问于 2015-07-27 11:27:33
回答 1查看 1.3K关注 0票数 1

代码:

代码语言:javascript
复制
import pygame
pygame.init()
WIDTH = 800
HEIGHT = 480
screen = pygame.display.set_mode((WIDTH,HEIGHT))
block = pygame.sprite.Sprite()
block.image = pygame.image.load('stone.png')
newblock = pygame.transform.scale(block, (64, 64))
newblock.rect = newblock.image.get_rect()
newblock.group = pygame.sprite.GroupSingle(newblock)
newblock.group.draw(screen)
pygame.display.update()

当我尝试用pygame.transform.scale缩放图像时,它给出了这个错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "C:/pygame/program.py", line 8, in <module>
    newblock = pygame.transform.scale(block, (64, 64))
TypeError: must be pygame.Surface, not Sprite
EN

回答 1

Stack Overflow用户

发布于 2015-07-27 15:52:05

错误消息说明了一切。pygame.transform.scale的第一个参数需要是一个Surface,但您需要传递一个Sprite

我猜你想要这样的东西:

代码语言:javascript
复制
import pygame
pygame.init()
WIDTH = 800
HEIGHT = 480
screen = pygame.display.set_mode((WIDTH,HEIGHT))
img = pygame.image.load('stone.png')

block = pygame.sprite.Sprite()
block.image = pygame.transform.scale(img, (64, 64))
block.rect = block.image.get_rect()

group = pygame.sprite.GroupSingle(block)

while True:
    #TODO: event handling
    group.draw(screen)
    pygame.display.update()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31644510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档