你好,我是悦创。昨天因为时间问题,所以部分代码没时间添加注释,接下来我添加注释代码放在这篇文章中。上一篇文章:03-pygame 键盘与鼠标

2. 键盘事件

# -*- coding: utf-8 -*-
# @Time    : 2021/8/3 11:33 上午
# @Author  : AI悦创
# @FileName: p.py
# @Software: PyCharm
# @Blog    :http://www.aiyc.top
# @公众号   :AI悦创
import pygame  # 导入 pygame 库
import sys  # 导入系统库

pygame.init()  # 调用初始化函数,无需安装
size = width, height = 600, 400
screen = pygame.display.set_mode(size)
pygame.display.set_caption('我的游戏')
from pygame.locals import *  # 从pygame本地库导入所有键盘值,*表示所有

c_x, c_y = 300, 100  # 圆的圆心坐标
while True:
    for event in pygame.event.get():
        if event.type == pygame.KEYDOWN:
            # 如果事件类型是 KEYDOWN ,说明有按键按下了
            if event.key == pygame.K_a:
                # 再来检查按下了哪个按键
                c_x -= 10  # 按下 a 表示向左,坐标减 10
            if event.key == pygame.K_d:
                c_x += 10
            if event.key == pygame.K_w:
                c_y -= 10
            if event.key == pygame.K_s:
                c_y += 10
            if event.key == pygame.K_q:
                sys.exit()  # 按 q 就退出
    screen.fill((0, 255, 255))  # 重新覆盖背景
    pygame.draw.circle(screen, (0, 0, 255), (c_x, c_y), 50, 0)
    pygame.display.update()  # update 意为更新
# -*- coding: utf-8 -*-
# @Time    : 2021/8/3 11:33 上午
# @Author  : AI悦创
# @FileName: p.py
# @Software: PyCharm
# @Blog    :http://www.aiyc.top
# @公众号   :AI悦创
import pygame
import sys
from pygame.locals import *  # 从pygame本地库导入所有键盘值,*表示所有
from random import randint  # 从随机库导入整数随机
import math  # 导入数学库,一会好算鼠标坐标和圆心的距离

pygame.init()
size = width, height = 600, 400
screen = pygame.display.set_mode(size)
pygame.display.set_caption('我的游戏')

c_x, c_y = 300, 100
x, y = 0, 0
r, g, b = 0, 0, 0
while True:
    for event in pygame.event.get():
        # 如果事件类型是 MOUSEBUTTONDOWN ,则鼠标按下了.
        if event.type == pygame.MOUSEBUTTONDOWN:
            # 再判断按下哪个键, 左右中分别是 1、2、3
            if event.button == 1:
                x = event.pos[0]  # 按下左键就获取当前位置
                y = event.pos[1]
                # 再判断位置在不在圆形内部
                inner = math.sqrt((x - c_x) ** 2 + (y - c_y) ** 2)
            if inner <= 50:  # 距离坐标小于半径
                r = randint(0, 255)  # 就随机新颜色
                g = randint(0, 255)
                b = randint(0, 255)
        if event.type == pygame.QUIT:
            sys.exit()  # 处理退出
    screen.fill((0, 255, 255))  # 重新覆盖背景
    pygame.draw.circle(screen, (r, g, b), (c_x, c_y), 50, 0)
    pygame.display.update()  # update 意为更新

 

03-pygame 键盘与鼠标(代码注释添加)_游戏开发