背景:家里的娃慢慢长大了,准备教一些儿童入门的编程知识,研究了一阵麻省理工的scratch 2 虽然不错,但是功能有限,很多高级点的东西玩不出来。所以就有了这一系列,先提前自学一下,顺便拿来练手python ~_^
pygame虽然不是做大型游戏的最好选择,但是入门却是不错,python也易于学习,官网的文档也算齐全。
先来一个最基本的代码:
import pygame pygame.init() win = pygame.display.set_mode((320, 240)) # 画布窗口的大小 pygame.display.set_caption("first game") # 窗口标题 x, y = 50, 50 # 方块的起点 width, height = 30, 30 # 方块的宽,高 speed = 5 # 速度 run = True while run: # 防止cpu占用过高 pygame.time.delay(20) for event in pygame.event.get(): if event.type == pygame.QUIT: run = False keys = pygame.key.get_pressed() # 方向箭头响应 if keys[pygame.K_LEFT]: x -= speed if keys[pygame.K_RIGHT]: x += speed if keys[pygame.K_UP]: y -= speed if keys[pygame.K_DOWN]: y += speed # 防止跑出边界 if x > win.get_size()[0] - x = win.get_size()[0] - width if x < 0: x = 0 if y > win.get_size()[1] - height: y = win.get_size()[1] - height if y < 0: y = 0 # 将每一帧的底色先填充成黑色 win.fill((0, 0, 0)) # 画方块 pygame.draw.rect(win, (255, 0, 0), (x, y, width, height)) # 更新画布 pygame.display.update() pygame.quit()
效果:
参考:
https://www.youtube.com/watch?v=i6xMBig-pP4
https://nerdparadise.com/programming/pygame/part1
https://www.pygame.org/docs/ref/surface.html