当前位置:   article > 正文

python模块: pygame(自己动手写游戏)

pygame

目录

一、pygame的安装

 二、pygame基础操作

1.基本窗体设置

2.surface组件

 3.event事件


一、pygame的安装

pycharm 左下角的终端上输入指令pip install pygame,按下回车键执行下载,推荐下载到虚拟环境上,即路径前方带有(venv)。或者不使用pycharm,在控制窗口输入执行该命令也可以(控制窗口打开方式:win+r输入cmd按下回车进入,切记需要进入python环境中才可执行命令)

 二、pygame基础操作

1.基本窗体设置

使用pygame.display.set_mode()设置基本窗体,后续所有操作都要依附于该窗体,括号内填入窗体的大小, 需要以元组的方式传入(宽, 高)

使用fill方法设置窗体填充颜色,推荐使用颜色的RGB值, 也可以使用英文单词

  1. import pygame
  2. import sys
  3. # 初始化pygame
  4. pygame.init()
  5. # 设置基础窗体,大小为300x200
  6. screen = pygame.display.set_mode((300, 200))
  7. # 为窗体填充颜色
  8. screen.fill((255, 200, 170))
  9. # 设置窗体循环
  10. while True:
  11. for event in pygame.event.get():
  12. # 设置窗体关闭条件, 点击窗体右上角的x结束程序
  13. if event.type == pygame.QUIT:
  14. pygame.quit()
  15. sys.exit()
  16. # 更新屏幕内容
  17. pygame.display.flip()

运行结果

2.surface组件

surface组件可以理解为一个个小的对象,也就是你需要向主窗体上所添加的内容

  • 基础surface组件
  • 文本
  • 图片
  1. import pygame
  2. import sys
  3. pygame.init()
  4. screen = pygame.display.set_mode((300, 200))
  5. screen.fill((255, 200, 170))
  6. # 设置一个基础surface对象, 100x100的矩形
  7. surface = pygame.surface.Surface((50, 50))
  8. # 为矩形填充颜色(白色)
  9. surface.fill((255, 255, 255))
  10. # 加载字体并设置字号
  11. font = pygame.font.Font("../font/simkai.ttf", 20)
  12. # 设置文本内容以及文本颜色
  13. text = font.render("hello world", True, (0, 0, 0))
  14. # 加载一张图片
  15. image = pygame.image.load("../image/2.jpg")
  16. # 让矩形在窗体上显示,元组内为显示位置坐标
  17. screen.blit(surface, (125, 25))
  18. # 在主窗体上显示文字
  19. screen.blit(text, (100, 0))
  20. # 在主窗体上显示图片
  21. screen.blit(image, (100, 100))
  22. while True:
  23. for event in pygame.event.get():
  24. if event.type == pygame.QUIT:
  25. pygame.quit()
  26. sys.exit()
  27. pygame.display.flip()

 最终效果如下

 3.event事件

一般来说游戏操作都会使用键盘按键和鼠标等来执行,所谓的按下按键以及点击鼠标就是pygame中的event事件,pygame中的常见时间有以下几种

  • QUIT   按下窗口的关闭按钮
  • KEYDOWN  按下键盘
  • KEYUP  松开键盘
  • MOUSEBUTTONDOWN  按下鼠标
  • MOUSEBUTTONUP  松开鼠标
  • MOUSEMOTION  移动鼠标

逻辑就是如果触发了某个事件,则执行对应的操作,比如我这里写了一个如果按下空格键则把背景颜色切换为绿色的事件

  1. import pygame
  2. import sys
  3. pygame.init()
  4. screen = pygame.display.set_mode((300, 200))
  5. screen.fill((255, 200, 170))
  6. # 设置一个基础surface对象, 100x100的矩形
  7. surface = pygame.surface.Surface((50, 50))
  8. # 为矩形填充颜色(白色)
  9. surface.fill((255, 255, 255))
  10. # 加载字体并设置字号
  11. font = pygame.font.Font("../font/simkai.ttf", 20)
  12. # 设置文本内容以及文本颜色
  13. text = font.render("hello world", True, (0, 0, 0))
  14. # 加载一张图片
  15. image = pygame.image.load("../image/2.jpg")
  16. while True:
  17. for event in pygame.event.get():
  18. if event.type == pygame.QUIT:
  19. pygame.quit()
  20. sys.exit()
  21. # 判断是否按下了键盘
  22. if event.type == pygame.KEYDOWN:
  23. # 如果按下的是空格,则执行背景颜色替换
  24. if event.key == pygame.K_SPACE:
  25. # 将背景颜色替换为绿色
  26. screen.fill((50, 255, 50))
  27. print("按下了空格键")
  28. # 将surface对象放入循环内防止背景填充后被覆盖
  29. screen.blit(surface, (125, 25))
  30. screen.blit(text, (100, 0))
  31. screen.blit(image, (100, 100))
  32. pygame.display.flip()

这是按下空格之前的窗体

 下面是按下空格之后的样子, 可以看到背景颜色被替换且控制台输出文字

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/471969
推荐阅读
相关标签
  

闽ICP备14008679号