利用python制作自己的小游戏,超简教程

article/2025/8/23 23:51:18

懒得客套,直接步入主题

首先,利用python来做游戏需要用到python中的pygame模块,这个我们在终端cmd中安装

输入:pip install pygame 安装好后我们进入pycharm查询我们有的模块(打开路径:文件-设置)

 可以看到我们软件包中有pygame,安装好后我们在python中输入

#调用模块
import pygame

然后我们开始搭建场景

def start():#游戏页面大小screen = pygame.display.set_mode((1200, 700), 0, 32)#游戏名称pygame.display.set_caption('靓富打僵尸')#调用背景 load后面是你的背景文件路径background = pygame.image.load("./daoju/background.png").convert()# 循环每个事件while True:screen.blit(background, (0, 0))# 这个不用管,功能为刷新页面pygame.display.update()
if __name__ == '__main__':start()

我们运行试试

接下来我们导入人物这部分,在调用模块中导入pygame.locals模块(这个模块的作用是使用各种常量,人物行走就会用到)

#在首行调用模块中添加
from pygame.locals import *

在while循环中添加检测鼠标和键盘事件

        # 判断是否退出for event in pygame.event.get():if event.type == QUIT:print("exit")exit()elif event.type == KEYDOWN:keys_pressed = pygame.key.get_pressed()# 调用键盘,其中K_a中的a可以为任何数(看个人喜好)而后面的left为向左移动if event.key == K_a or event.key == K_LEFT:print('left')# 一样elif event.key == K_d or event.key == K_RIGHT:print('right')elif event.key == K_w or event.key == K_UP:print('up')elif event.key == K_s or event.key == K_DOWN:print('down')# 这个为射击参数,对接玩家子弹参数elif event.key == K_j:print('j')

运行如下

 我们现在做人物的相关参数

新建个python文件 名为plane

import pygame#定义玩家的相关数据
class HeroPlane(object) :def __init__(self, screen) :# 玩家默认位置self.x = 50self.y = 445# 窗口与玩家self.screen = screenself.image_name = "./rwu/hero.gif"self.image = pygame.image.load(self.image_name).convert()#定义行走变量def display(self):self.screen.blit(self.image, (self.x, self.y))# 移动的速度   xy为方向根据自己游戏画面调def move_left(self):self.x -= 10def move_right(self):self.x += 10def move_up(self):self.y -= 10def move_down(self):self.y += 10

然后我们回到zhuyemian文件中

调用模块的地方中输入调用plane文件

#调用模块
import pygame
import time
from pygame.locals import *
#调用plane文件
from plane import *

回到 def start():               中创建一个人物对象

    #创建人物对象hero_plane = HeroPlane(screen)

然后我们在while键盘参数中对接我们人物的各个参数

    # 循环每个事件while True:screen.blit(background, (0, 0))# 这个不用管,功能为刷新页面pygame.display.update()#连接plane(新添加)hero_plane.display()# 判断是否退出for event in pygame.event.get():if event.type == QUIT:print("exit")exit()elif event.type == KEYDOWN:keys_pressed = pygame.key.get_pressed()# 调用键盘,其中K_a中的a可以为任何数(看个人喜好)而后面的left为向左移动if event.key == K_a or event.key == K_LEFT:print('left')#(新添加)hero_plane.move_left()# 一样elif event.key == K_d or event.key == K_RIGHT:print('right')
#(新添加)hero_plane.move_right()elif event.key == K_w or event.key == K_UP:print('up')
#(新添加)hero_plane.move_up()elif event.key == K_s or event.key == K_DOWN:print('down')
#(新添加)hero_plane.move_down()# 这个为射击参数,对接玩家子弹参数elif event.key == K_j:print('j')
#(新添加)pygame.display.update()

运行的时候会有人物闪烁的问题

导入import time 然后再def start 中添加

clock = pygame.time.Clock()

再在while循环中添加刷新帧率

#刷新帧率 60 为60帧
clock.tick(60)

我们运行看看

 完美实现人物移动

大家总说来日方长,殊不知世事无常,珍惜当下,做自己想做的事

                                                好啦,第一篇就讲完啦,后续更新子弹和敌人模块(不是不想一次写完,真的太累了这篇有4000字左右,这个游戏我早在一个月前左右就写好了,现在回去看,有些有啥作用我自己都忘记了)

                                                                             有不懂的评论或者私信

                                     觉得对你有帮助的小伙伴评论下,我就喜欢别人认可我做的东西


http://chatgpt.dhexx.cn/article/eCeBEHSc.shtml

相关文章

如何用python做游戏(简单易上手版)【送 源码】

嗨害大家好鸭,我是小熊猫🖤 很多小伙伴后台私信问我说, “python可以做游戏吗 ?” “要怎么做呢?” 接下来我就介绍一下, 如何用Python做游戏 有什么python相关报错解答自己不会的、或者源码资料/模块…

python小游戏-移动木板

文章目录 一、游戏简介二、编写步骤1.引入库2.初始化3.相关自定义函数4.相关自定义函数 一、游戏简介 本游戏是通过python编写的小游戏,给初学者熟悉python编程语言抛砖引玉,希望有所帮助。 成型的效果图如下: 二、编写步骤 1.引入库 代码…

UDP over Socks5 实现全局透明代理

Socks5代理协议很强大,不光可以实现HTTP/HTTPS代理的TCP隧道代理功能,类似connect,还可以实现HTTP代理不能做到的UDP代理功能。 要知道UDP代理的重要过程,以方便我们排查错误,我们还需要了解Socks5协议对UDP代理方式的…

阿里P7测开岗大手子手把手教你【软件测试秘籍】

本人阿里CTO线测试开发岗,入职阿里系已有两年,从事软件测试岗位五年有余。双非一本计算机系出身,大佬说不上,今天跟学弟学妹分享一下我这几年的学习软件测试心得。 一、 熟练使用SQL 常用的 sql 语句一定会写。比如说增删改查之类…

软件测试人员必备的60个测试工具清单,建议收藏一波~

据统计,中国软件外包市场的潜力和机会已远远超过软件王国印度,不过由于软件人才的严重不足致使我国软件发展遭遇“瓶颈”。国家为了大力培养软件人才,不断采取积极有效的措施。我国对软件测试人才的需求数量还将持续增加,因此软件…

软件测试精华总结,入门到精通全流程(必看,知识点很全)

软件测试基础 软件测试的概念 通过一系列手段去证明软件是符合用户需求的,满足质量要求的。预期结果和实际结果的一个对比。 软件测试分类 按方法分:黑盒测试、白盒测试、灰盒测试 黑盒测试:把软件比作一个“黑匣子”,不考虑具体是内部是如何实现的,只考虑外部功能的运行…

400 页共计 800 道软件测试面试真题汇总,2022年吐血整理

800 道软件测试面试真题,高清打印版打包带走,横扫软件测试面试高频问题,涵盖测试理论、Linux、MySQL、Web 测试、接口测试、App 测试、Python、Selenium、性能测试、LordRunner、计算机网络、数据结构与算法、逻辑思维、人力资源等模块面试题…

软件测试人员必备的60个测试工具清单,果断收藏了!

前言 据统计,中国软件外包市场的潜力和机会已远远超过软件王国印度,不过由于软件人才的严重不足致使我国软件发展遭遇“瓶颈”。国家为了大力培养软件人才,不断采取积极有效的措施。我国对软件测试人才的需求数量还将持续增加,因…

软件测试面试题集(含答案)

软件测试面试题集 一、Bug基本要素 缺陷ID,状态,类型,所属项目,所属模块,缺陷提交时间,缺陷提交人(检测者),严重程度,优先级别,缺陷描述信息&…

常用的软件测试工具清单,建议收藏。

常用的测试工具有10类: 1.测试管理工具 2.接口测试工具 3.性能测试工具 4.C/S自动化工具 5.白盒测试工具 6.代码扫描工具 7.持续集成工具 8.网络测试工具 9.app自动化工具 10.web安全测试工具 1.测试管理工具 1,TestDirector(大而全) 2&…

什么是软件测试,软件测试究竟是做什么的

我犹豫了很久,想来想去还是写了一篇文章,这篇文章可以告诉你什么是软件测试? 来看看官方的回答: 软件测试(英语:Software Testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话…

swiper自定义分页器使用

解决问题:不想使用swiper的自带的圆钮式的分页器,想使用自定义的分页器。 解决方案:利用swiper提供的paginationCustomRender()方法(自定义特殊类型分页器,当分页器类型设置为自定义时可用。) 下面的代码可…

element-ui 分页器的使用

1. ui组件 1.在element-ui找到Paginaion分页器 打开代码拷贝第四个组件 2. 在vue template里写 //分页区 <el-pagination size-change"handleSizeChange" current-change"handleCurrentChange":current-page"queryInfo.pagenum" :page-size…

分页器的使用-1 自己找的分页器插件

这个插件是自己网上找的&#xff0c;具体代码如下&#xff1a; 具体步骤&#xff1a;1. 先引入css和js2. 分页器放在请求成功之后&#xff0c;3. 最重要的中间件就是currentPage&#xff1a;当前页码。4. 具体代码详情都在里面写清楚了。用到的js文件&#xff1a; https://pa…

vue实战-分页器

vue实战-分页器 1.分页器静态组件 因为是公共全局组件&#xff0c;在components里新建文件夹Pagination&#xff0c;并将分页器的静态组件填入 静态组件 <template><div class"pagination"><button>1</button><button>上一页</b…

html分页器的实现原理,js分页器详解

本文主要和大家分享js分页器详解,我们先来看一下效果,希望能帮助到大家。 依赖于:bootstrap 和 jquery html代码:通过class="pj_pager"引用,pj_total初始化总条数 js代码:/** * 分页器,依赖于bootstrap,jquery */ var pager = {init : function(r) {this.obj …

JavaScript--Swiper自定义分页器

图片是以背景显示的&#xff0c;图片上有一层遮罩&#xff0c;最上面是文字。分页器激活状态下是自定义的图片。代码比较容易进行删改&#xff0c;比如不想要遮罩或者文字可以直接删掉。 分页器的效果&#xff1a; html <!DOCTYPE html> <html lang"en"…

快速实现-简单分页器(上)

首先形形色色的分页器大家肯定都看过,这一次就快速实现一个简单的分页器,应该不会耽搁太久吧~ 先来看一下简洁布局: 瞜一眼这布局: 页码数量总共只有9个当足够显示所有页码的情况就全部显示了那么问题来了,如果不够呢? 第一种情况 第二种情况 第三种情况

完整分页器最骚的讲解(亲测)

咱也不敢问&#xff0c;咱也不敢说。先来个图瞅瞅分页器是个什么鬼叭 就目前来讲&#xff0c;这应该算是功能最全的分页器啦吧 下面我们一步一步研究一下这玩意怎么玩叭 啥也不说了&#xff0c;先去element-ui官网嫖代码吧哈哈哈 <el-paginationsize-change"handleS…

用vue封装分页器,让你的页面简单而不失优雅

前言 当我们在开发 web 应用时&#xff0c;经常需要对大量数据进行分页展示&#xff0c;这时候用到的就是分页器。element 是一款流行的前端 ui 框架&#xff0c;它提供了许多有用的工具和组件&#xff0c;其中就包括分页器组件。在本文中&#xff0c;我们将学习如何使用 vue 基…