python游戏编程入门 python游戏编程入门课

144
作者 bianji2 米粒妈咪课堂  ← 点击红色字,关注公众号
2020-09-18 15:47 字数 8592 阅读 2402评论 0
从入门到进阶,轻松学Python!

python游戏编程入门  python游戏编程入门课

什么是python游戏编程入门?首先我们需要认识什么是Python

Python既是一个软件工具包,也是一种语言。Python软件包包含了一个名为IDLE的编辑器。Idle是一个人的名字,而不是集成开发(integrated development…)的缩写,尽管IDLE看上去有点像是缩写。这个人的名字是Eric Idle,他是Monty Python的创始成员之一,而Monty Python则是Python语言的名称的由来,Python是向British TV的一部电视剧致敬。Python语言也很奇怪,因此,它这个名字是很合适的。当然,它是以一种可爱的方式来表现出奇怪。如果你真的是初次接触Python,并且没有阅读过Michael Dawson的入门图书(Python Programming for the Absolute Beginner),那么,你可能会对Python不同于其他的编程语言感到惊喜。这使得学习Python有了一些挑战,但尽管如此也是值得的。

python游戏编程入门课又是什么?我们以一个实例来给大家作分析:

Pygame是一组功能强大而有趣的模块,可用于管理图形、动画乃至声音,可以让我们很轻松的开发复杂的游戏。通过使用Pygame来处理在屏幕上绘制图像等任务,不用考虑众多繁琐而艰难的编码的工作,而是将重点放在程序的高级逻辑上。

安装Python

官网地址:https://www.python.org/downloads/ 

本系列博文使用的是Python3.6.8

64位系统可以下载Windows x86-64 executable installer,下载完成后双击Python安装包,然后通过图形界面安装,接着设置Python的安装路径,完后将Python3和Python3的Scripts目录配置到环境变量即可。

 

安装Pygame

地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame,下载与Python版本对应的版本

最后确认是否正确安装:

 

创建Pygame窗口以及响应用户输入

from sys import exit  # 导入sys库中的exit函数

 

import pygame  # 导入pygame库

from pygame.locals import *  # 导入pygame库中的一些常量

 

# 定义窗口的分辨率

SCREEN_WIDTH = 480

SCREEN_HEIGHT = 320

 

 

def run_game():

    # 初始化游戏并创建一个屏幕对象

    pygame.init()

    # 初始化一个用于显示的窗口

    # 对象screen是一个surface,在Pygame中,surface是屏幕的一部分,用于显示游戏元素

    # 这里pygame.display.set_mode()返回的surface表示整个游戏窗口

    screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))

    # 设置窗口标题

    pygame.display.set_caption("This is my first pygame-program")

 

    # 开始游戏的主循环

    while True:

        # 监视键盘和鼠标事件

        # 从消息队列中循环取

        for event in pygame.event.get():

            if event.type == pygame.QUIT:

                sys.exit()

 

 

 

run_game()

程序运行结果如下:

pygame.display.flip() :在这里,它在每次执行while循环时都绘制一个空屏幕,并擦去旧屏幕,使得只有新屏幕可见。在我们移动游戏元素时,pygame.display.flip()将不断更新屏幕,以显示元素的新位置,并在原来的位置隐藏元素,从而营造平滑移动的效果。

 

设置背景图片

from sys import exit  # 导入sys库中的exit函数

 

import pygame  # 导入pygame库

from pygame.locals import *  # 导入pygame库中的一些常量

 

# 定义窗口的分辨率

SCREEN_WIDTH = 480

SCREEN_HEIGHT = 320

 

# 载入背景图

background = pygame.image.load('resources/image/background.jpg')

 

 

def run_game():

    # 初始化游戏并创建一个屏幕对象

    pygame.init()

    # 初始化一个用于显示的窗口

    screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))

    # 设置窗口标题

    pygame.display.set_caption("This is my first pygame-program")

 

    # 开始游戏的主循环

    while True:

 

        # 绘制背景

        screen.blit(background, (0, 0))

        # 更新屏幕

        pygame.display.update()

 

 

        # 监视键盘和鼠标事件

        # 从消息队列中循环取

        for event in pygame.event.get():

            if event.type == pygame.QUIT:

                sys.exit()

 

 

 

run_game()

运行效果如下:

 

设置背景色

from sys import exit  # 导入sys库中的exit函数

 

import pygame  # 导入pygame库

from pygame.locals import *  # 导入pygame库中的一些常量

 

# 定义窗口的分辨率

SCREEN_WIDTH = 480

SCREEN_HEIGHT = 320

 

# 载入背景图

# background = pygame.image.load('resources/image/background.jpg')

 

# 设置背景色

bg_color = (250, 0, 0)

 

 

def run_game():

    # 初始化游戏并创建一个屏幕对象

    pygame.init()

    # 初始化一个用于显示的窗口

    screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))

    # 设置窗口标题

    pygame.display.set_caption("This is my first pygame-program")

 

    # 开始游戏的主循环

    while True:

        # # 绘制背景

        # screen.blit(background, (0, 0))

        # # 更新屏幕

        # pygame.display.update()

 

        # 监视键盘和鼠标事件

        # 从消息队列中循环取

        for event in pygame.event.get():

            if event.type == pygame.QUIT:

                sys.exit()

 

        # 每次循环时都会重绘屏幕,此处用背景色填充屏幕

        screen.fill(bg_color)

        # 局部刷新,pygame.display.flip()是屏幕的整体刷新

        pygame.display.update()

 

 

 

run_game()

运行效果如下:


少儿编程      米粒妈咪在线课程