这篇教程浅谈Python Pygame图像的基本使用写得很实用,希望能帮到您。 笛卡尔坐标系游戏离不开坐标,我们来康康pygame中坐标是如何设立的吧~ 
窗口左上角坐标(0,0),横轴正向向右,纵轴正向向下 实际效果碰到边框就返回(其实是小球碰撞实验,我不爱用正经的小球,所以…) 
代码import pygame,syspygame.init()size = width, height = 600, 400speed = [1,1]BLACK = 0, 0, 0s = pygame.display.set_mode(size)pygame.display.set_caption("hi 滑稽")ball = pygame.image.load("img/361.png")ballrect = ball.get_rect()while True: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() ballrect = ballrect.move(speed[0], speed[1]) if ballrect.left < 0 or ballrect.right > width: speed[0] = - speed[0] if ballrect.top < 0 or ballrect.bottom > height: speed[1] = - speed[1] s.fill(BLACK) s.blit(ball, ballrect) pygame.display.update() 代码说明碰撞原理 
方法说明 方法 | 说明 | pygame.image.load(filename) | 将filename路径下的图像载入游戏,支持JPG、PNG、GIF(非动画)等13种常用图片格式 | get_rect() | 返回一个覆盖图像的矩形Rect对象 | move(x,y) | 矩形移动一个偏移量(x,y),即在横轴方向移动x像素,纵轴方向移动y像素,xy为整数 | fill(color) | 显示窗口背景填充为color颜色,采用RGB色彩体系 | blit(src, dest) | 将一个图像绘制在另一个图像上,即将src绘制到dest位置上。 | 载入图片 pygame.init()size = width, height = 600, 400 #设置了宽高,也可以在pygame.display.set_mode()设置speed = [1,1] #速度BLACK = 0, 0, 0 #颜色黑色s = pygame.display.set_mode(size)pygame.display.set_caption("hi 滑稽")ball = pygame.image.load("img/361.png") #注意图片路径ballrect = ball.get_rect() surface对象和Rect对象 
Rect对象属性 Rect对象有一些重要属性,例如:top,bottom,left,right表示上下左右width,height表示宽度、高度。 
移动 ballrect = ballrect.move(speed[0], speed[1]) # x1 if ballrect.left < 0 or ballrect.right > width: # x2 speed[0] = - speed[0] if ballrect.top < 0 or ballrect.bottom > height: speed[1] = - speed[1] x1:矩形移动一个偏移量(x,y),即在横轴方向移动x像素,纵轴方向移动y像素,xy为整数x2:遇到左右两侧,横向速度取反;遇到上下两侧,纵向速度取反。 到此这篇关于浅谈Python Pygame图像的基本使用的文章就介绍到这了,更多相关Pygame图像的基本使用内容请搜索51zixue.net以前的文章或继续浏览下面的相关文章希望大家以后多多支持51zixue.net! 解析python高级异常和运算符重载 分析python并发网络通信模型 |