arm-linux-gcc-5.4.0下载_用pygame开发自己的游戏-1. 基础与入门

d8293f69a04e7ed7ffed325edfd5b60c.png

一、前言

pygame是一个用Python写的SDL库。SDL是一个能访问计算机多媒体硬件组件(包括声卡,视频卡,输入组件等)的跨平台库。本系列主要通过pygame做小游戏来学习编程。对于学过基本语法,刷过一些题目的同学,提高自己的最佳方式就是通过做小游戏等实际的项目,有目标地做项目才能真正将知识内化。初学者一定要学会CRM(Copy Run Modify,又称魔改)大法,把书上网上的例子代码跑起来后,一定要尝试修改下代码,通过关键参数或者关键语句的修改,可以验证自己对代码的理解是否正解。

二、安装

安装pygame的最佳方式是通过pip命令来安装,在Windows下打开CMD窗口(win键 + R,输入 cmd)界面上输入pip install pygame命令便安装好。

1dc7d05e876a0bb7b613d2584531374a.png

有一些同学在这步安装过程中会遇到包无法顺利下载的问题,可以用一下命令来执行,这个命令是通过pip使用豆瓣源的镜像来下载安装pygame。两个命令的区别在于安装过程所需要的文件是在国外还是国内的网站去下载。

pip install pygame -i https://pypi.doubanio.com/simple/ --trusted-host pypi.doubanio.com

三、Hello world

学习编程任何语言,框架都是从Hello world例子开始的,学习pygame也不例外,我们从以下例子开始。

import pygame, sys

# 初始化
pygame.init()
# 设置屏幕的宽度,高度
SCREEN = pygame.display.set_mode((400, 300))
# 设置窗口的标题
pygame.display.set_caption('Hello World!')

# 游戏主循环
while True: # main game loop
    for event in pygame.event.get():
        # 处理退出事件
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
    # 将屏幕的背景填充成白色,了解下RGB三原色
    SCREEN.fill((255, 255, 255))
    # 调用 pygame.display.update() 方法更新整个屏幕的显示
    pygame.display.update()

效果如下:

f749532f5c42ac81f20a9004eb68c55c.png

游戏主循环

游戏主循环(事件)是一直在运行着的。无论是在玩游戏,更新游戏状态,渲染画面或者是采集输入数据,它是一直在不间断运行着的。当我们创建一个循环时,必须能保证,我们有方法可以跳出循环,结束程序运行。游戏中经常用各种事件要处理,比如键盘鼠标等操作,pygame把所有类似的事件都放进事件队列,再由用户来处理。我们可以用pygame.event.get()方法来操作它。目前我们只处理游戏的退出事件,上面代码里当收到退出事件后,就退出游戏。

四、常用的知识点

1. 理解游戏坐标系

pygame坐标系的理解是十分关键的,所有的图形图片的绘制都与之相关。原点 在 左上角 (0, 0)
x 轴 水平方向向 右,逐渐增加
y 轴 垂直方向向 下,逐渐增加

2. 矩形结构

矩形是一个简单的矩形——仅由左上角的位置、宽度和高度来定义。很多pygame函数都把rects作为参数,它们也取“rectstyle”,这个序列的值与矩形的值相同,所以如果我需要一个矩形来定义10 20 40 50的面积,我可以做以下任何一项:

rect = pygame.Rect(10, 20, 40, 50)
rect = pygame.Rect((10, 20, 40, 50))
rect = pygame.Rect((10, 20), (40, 50))
rect = (10, 20, 40, 50)
rect = ((10, 20, 40, 50))

如果要将结果矩形化画出来,可以使用pygame.draw.rect函数。第一个参数填写屏幕对象,第二参数为矩形的颜色,第三个参数为矩形对象,可以填写前面矩形结构中的一种。

import 

效果如下:

9c38d11300423a1dcd61904f9b543dc3.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值