[英]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.