任务目标:将图片放在屏幕正中央的两种方法
方法一:数学方法
使用方法:使用 image.get_rect()方法获得图像的长(.right)和宽(.bottom),利用数学方法计算出中心点位置并赋值给图像放置位置。
实现代码:
import pygame,sys pygame.init() screen =pygame.display.set_mode([640,480]) pygame.display.set_caption("按键测试") bg_color= [255,255,255] screen.fill(bg_color) image = pygame.image.load("D:\pythonstudy\pygameStudy\skyrobot\images\ship.bmp") rect = image.get_rect() while True: #方法一:将图片放在屏幕正中央 rect_x = (screen.get_width()-rect.right)/2 rect_y = (screen.get_height()-rect.bottom)/2 for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() screen.blit(image, [rect_x,rect_y]) pygame.display.flip()
方法二:使用center属性
方法说明:获得屏幕的中心点坐标,直接把该坐标赋值给图像的中心点坐标
代码实现:
import pygame,sys pygame.init() screen =pygame.display.set_mode([640,480]) pygame.display.set_caption("按键测试") bg_color= [255,255,255] screen.fill(bg_color) image = pygame.image.load("D:\pythonstudy\pygameStudy\skyrobot\images\ship.bmp") rect = image.get_rect() screen_rect = screen.get_rect() while True: #方法二:将图片放在屏幕正中央 rect.center = screen_rect.center for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() screen.blit(image, rect) pygame.display.flip() print(rect.center)
更多推荐
python自学——pygame基础——关于pygame中的图像位置
发布评论