繁体   English   中英

在python 3中使用pygame移动屏幕的一部分

[英]Moving a part of the screen with pygame in python 3

我正在做一个游戏,其中的一部分包括聊天框样式的模拟。 我想做的是向上移动屏幕的一部分,以便所有文本都向上移动并为更多的空间腾出空间。

我已成功使用以下代码将屏幕的一部分变为黑色:

def move (screen):
    area = pygame.Surface((540, 400))
    area.scroll(0, -100)
    area_rect = area.get_rect()
    area_rect = area.get_rect(left=100, bottom=400)
    area_rect.move_ip(0, -100)
    screen.blit(area, (100, 0), area_rect)
    pygame.display.flip()

我正在尝试在640x480屏幕上将[[100,0),(640,400)]区域向上移动100个像素。 我到底在做什么错?

您不需要为此使用Surface.scroll 如果您不在意向上移动该特定区域后剩下的内容,请尝试仅复制要移动的部分,然后在希望其重新出现的位置将其显示为空白:

area_rect = pygame.Rect(100, 0, 540, 400)
area = screen.subsurface(area_rect)
new_area_rect = area_rect.move(0, -100)
screen.blit(area, new_area_rect.topleft)
pygame.display.flip()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM