你好,我是悦创。昨天因为时间问题,所以部分代码没时间添加注释,接下来我添加注释代码放在这篇文章中。上一篇文章: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 意为更新