IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> python创建一个简单的游戏 -> 正文阅读

[游戏开发]python创建一个简单的游戏

经过一段时间的python学习,爬取数据已经无法满足我的需求,于是想起了游戏。

下面做一个最简单的游戏,人物循环走动。

python中我们用到强大的库pygame

Pygame是被设计用来写游戏的python模块集合,Pygame是在优秀的SDL库之上开发的功能性包。使用python可以导入pygame来开发具有全部特性的游戏和多媒体软件,Pygame是极度轻便的并且可以运行在几乎所有的平台和操作系统上

pycharm如何安装pygame,这里重点说一下,以下是

https://pypi.org/project/pygame/1.9.3/

如果你使用命令pip install pygame==1.9.3 安装失败,并且安装下载.whl依然失败的话,你可以尝试安装他的稳定版本 pygame2.1.2版本,直接下面的命令

pip install pygame

安装完成后,建一个纯净版的python工程,这里就不赘述了。

下面是精华版代码

游戏开始步骤
1.库初始化

pygame.init()

2.设置游戏屏幕宽高

# 设置屏幕宽高
screen = pygame.display.set_mode((500, 500))

3.定义游戏名称

# 设置游戏名称
pygame.display.set_caption("小孩运动")

4.设置游戏背景图
我们将背景图放在static目录下取名为back.png
在这里插入图片描述

在这里插入图片描述
然后设置游戏背景图片

# 设置游戏的背景图片
bg = pygame.image.load("static/back.png")
screen.blit(bg, (0, 0))

5.设置人物或者物体最初位置
我们这里以一个小孩图片为例,小孩图像也放在static目录下,取名未child.png
在这里插入图片描述

# 设置小孩初始运动位置
child = pygame.image.load("static/child.png")
screen.blit(child, (200, 200))

接下来是关键,小孩要循环在X轴一定,而且有一定的速度,当移动超过屏幕的时候,要循环走动,接下来要怎么处理呢,请看代码

# 创建时钟对象,可以控制游戏循环的频率
clock = pygame.time.Clock()

# 记录小孩移动的位置,定义了初始位置,在200 * 200的坐标,
childRect = pygame.Rect(200, 200, 102, 126)

while True:

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()
    else:
        # 通过时钟对象指定循环频率
        clock.tick(60)

        # 向右移动
        childRect.x += 1

        if childRect.x > 500:  # 这里的意思是当移动超过屏幕,让它重新到一个点,再次运动
            childRect.x = 0

        screen.blit(bg, (0, 0))
        screen.blit(child, childRect)  # 屏幕填充数据

        pygame.display.update()

看下运行效果吧
由于该站上传视频功能挂了,所以只能截图咯,大家莫怪
在这里插入图片描述
最后贴上源码:

# -*- coding:utf-8 -*-
# @Time:2022-2-22 17:24
# @Author:luoshao
# @FileName:swore.py
# @Software:PyCharm
import sys

import pygame

pygame.init()

# 设置屏幕宽高
screen = pygame.display.set_mode((500, 500))

# 设置游戏名称
pygame.display.set_caption("小孩运动")


# 设置游戏的背景图片
bg = pygame.image.load("static/back.png")
screen.blit(bg, (0, 0))

# 设置小孩初始运动位置
child = pygame.image.load("static/child.png")
screen.blit(child, (200, 200))

# # 设置运行速度
# speed = [1, 1]

# 设置背景颜色
# White = 255, 255, 255

# 创建时钟对象,可以控制游戏循环的频率
clock = pygame.time.Clock()

# 记录小孩移动的位置
childRect = pygame.Rect(200, 200, 102, 126)

while True:

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()
    else:
        # 通过时钟对象指定循环频率
        clock.tick(60)

        # 向右移动
        childRect.x += 1

        if childRect.x > 500:
            childRect.x = 0

        screen.blit(bg, (0, 0))
        screen.blit(child, childRect)

        pygame.display.update()

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-02-24 15:38:55  更:2022-02-24 15:41:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 16:22:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码