请选择 进入手机版 | 继续访问电脑版
查看: 117|回复: 0

Python pygame新手入门基础教程

[复制链接]

2198

主题

0

回帖

7027

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
7027
发表于 2022-10-9 01:48:17 | 显示全部楼层 |阅读模式
pygame简介

pygame可以实现python游戏的一个基础包。

pygame实现窗口

初始化pygame,init()类似于java类的初始化方法,用于pygame初始化。
  1. pygame.init()
复制代码
设置屏幕,(500,400)设置屏幕初始大小为500 * 400的大小, 0和32 是比力高级的用法。这样我们便设置了一个500*400的屏幕。
  1. surface = pygame.display.set_mode((500, 400), 0, 32)
复制代码
如果不设置pygame事件的话,窗口会一闪而逝。这里去捕捉pygame的事件,如果没有按退出,那么窗口就会一直保持着,这样方便我们去设置差异的内容展示。
  1. pygame.display.set_caption(“我的pygame游戏”)
复制代码
pygame.display,set_caption设置窗口的标题
  1. import pygame, sys
  2. from pygame.locals import *

  3. pygame.init()

  4. surface = pygame.display.set_mode((500, 400), 0, 32)
  5. pygame.display.set_caption("我的pygame游戏")

  6. while True:
  7.     for event in pygame.event.get():
  8.         if event.type == QUIT:
  9.             pygame.quit()
  10.             sys.exit()
复制代码


设置屏幕配景色

这里设置配景颜色为 (255, 255,255) ,然后更新屏幕
  1. # 设置背景颜色
  2. surface.fill((255, 255, 255))
  3. # 更新屏幕
  4. pygame.display.update()
复制代码


添加文字

首先获取Font对象,渲染Font对象,然后设置文本位置即可,pygame.font.SysFont(None, 40) 获取到文字对象,然后渲染文字为surface对象,basicFont.render 方法第一个参数是文字,第二个是是否去除锯齿,第三个和第四个是文字的颜色和文字的配景颜色。然后一个屏幕的区域,使用 blit将文字渲染到屏幕上。注意这里渲染的必须在屏幕的填充颜色之后,否则会覆盖文字。
  1. # 获取字体对象
  2. basicFont = pygame.font.SysFont(None, 40)
  3. # surface对象
  4. text = basicFont.render('秀儿', True, (255,255,255), (0,255,0))
  5. # 设置文本位置
  6. textRect = text.get_rect()

  7. textRect.centerx = surface.get_rect().centerx
  8. textRect.centery = surface.get_rect().centery
  9. # 将渲染的surface对象更新到屏幕上
  10. surface.blit(text,textRect)
复制代码

如上图所示,中文显示乱码,这里我们获取系统的字体,并将其中一种中文字体设置为默认字体即可。
  1. # 获取当前系统字体
  2. fonts = pygame.font.get_fonts()
  3. print(fonts)
复制代码
完整代码
  1. import pygame,sys
  2. from pygame.locals import *


  3. pygame.init()

  4. surface = pygame.display.set_mode((500, 400), 0, 32)
  5. pygame.display.set_caption("我的pygame游戏")
  6. surface.fill((255, 255, 255))

  7. # 获取字体对象
  8. basicFont = pygame.font.SysFont("方正粗黑宋简体", 48)
  9. # surface对象
  10. text = basicFont.render('秀儿', True, (255,255,255), (0,255,0))
  11. # 设置文本位置
  12. textRect = text.get_rect()

  13. textRect.centerx = surface.get_rect().centerx
  14. textRect.centery = surface.get_rect().centery
  15. # 将渲染的surface对象更新到屏幕上
  16. surface.blit(text,textRect)

  17. pygame.display.update()
  18. while True:
  19.     for event in pygame.event.get():
  20.         if event.type == QUIT:
  21.             pygame.quit()
  22.             sys.exit()
复制代码
绘制多边形

polygon 来绘制多边形,第一个参数是屏幕对象,第二个是颜色,第三个是用点串连的一个元组,最后一个点有和第一个是一致的
  1. import pygame,sys
  2. from pygame.locals import *


  3. pygame.init()

  4. surface = pygame.display.set_mode((500, 400), 0, 32)
  5. pygame.display.set_caption("我的pygame游戏")
  6. surface.fill((255, 255, 255))

  7. pygame.draw.polygon(surface, (0, 0, 255), ((50, 40), (100, 100), (120, 80), (50, 40)))

  8. pygame.display.update()
  9. while True:
  10.     for event in pygame.event.get():
  11.         if event.type == QUIT:
  12.             pygame.quit()
  13.             sys.exit()
复制代码


绘制直线

line方法,第一个参数是屏幕对象,之后是颜色和两个点,最后一个参数是线条宽度
  1. pygame.draw.line(surface, (0, 0, 255), (50, 40), (100, 100), 10)
复制代码


绘制圆形

circle用来绘制圆形,第一个参数和第二个参数是屏幕对象和颜色,之后是圆心和半径,最后一个表现宽度,如果设置为0,则是一个实园。
  1. pygame.draw.circle(surface, (0, 0, 255), (50, 40), 20, 10)
复制代码


绘制椭圆

第一个参数和第二个参数同上,第三个参数分别指定x和y轴的左上角,之后是x和y的半径,最后一个是宽度
  1. pygame.draw.ellipse(surface, (0, 0, 255), (50, 40, 20, 10), 2)
复制代码


绘制矩形

rect来绘制矩形,第一个和第二个参数同上,第三个参数分别制定左上角和右下角
  1. pygame.draw.rect(surface, (0, 0, 255), (50, 40, 20, 10))
复制代码


总结

到此这篇关于Python pygame新手入门基础教程的文章就介绍到这了,更多相关Python pygame基础教程内容请搜索趣UU以前的文章或继续浏览下面的相关文章希望大家以后多多支持趣UU!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
打赏作者
  • 0
  • 0
  • 0
  • 0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表