pygame 笔记-1 按键控制方块移动

背景:家里的娃慢慢长大了,准备教一些儿童入门的编程知识,研究了一阵麻省理工的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] - width:
        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

posted @ 2018-12-09 23:30 菩提树下的杨过 阅读(...) 评论(...) 编辑 收藏