有趣的滑雪小人游戏
作者:互联网
今天的python学习内容十分有趣,是学习如何使用类的方法来实现滑雪小人的移动,由此可以衍生到游戏中的树和旗的动法,废话不多说,直接上码。
import pygame
import random
pygame.init()
window = pygame.display.set_mode((640,600)) #窗口大小
window.fill([255, 255, 255]) # 将背景填充成白色
class SkierClass(pygame.sprite.Sprite):
'''实现精灵类的继承,完成滑雪小人'''
def __init__(self,image,position,speed):
'''
:param image: 图片的路径
:param position: 列表类型,[x横轴坐标,y纵轴坐标]
:param speed: 列表类型,[横轴速度,纵轴速度]
'''
pygame.sprite.Sprite.__init__(self)
self.image = pygame.image.load(image) #<Surface(30x64x32 SW)>,加载雪人图像
self.rect = self.image.get_rect() #<rect(0, 0, 30, 64)> # 获取图像边界的矩形
self.rect.left,self.rect.top = position #设置图像的初始位置
self.speed = speed
def move(self):
'''这个方法实现小人移动,利用rect内置的move方法'''
retdata = self.rect.move(self.speed)
print('move方法的返回值',retdata)
self.rect = retdata
#设定移动的边界条件
if self.rect.left < 0 or self.rect.right > 640:
self.speed[0] = -self.speed[0]
if self.rect.top < 0 or self.rect.bottom >600:
self.speed[1] = -self.speed[1]
if __name__ == '__main__':
# 创建单个小人实例
ski = SkierClass('.\skier_down.png', [500, 100],[0,1]) #依次输入输入图片路径、位置、速度
#
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
print("游戏退出")
exit()
window.fill([255,255,255]) #创建一个新背景,可覆盖前一个残留的小人
ski.move()
window.blit(ski.image,ski.rect) #将图像添加到窗口显示
pygame.display.update() #刷新
标签:__,self,小人,有趣,滑雪,speed,image,rect,pygame 来源: https://blog.csdn.net/pydax1a/article/details/88807066