利用python制作自己的小游戏,超简教程
懒得客套,直接步入主题
首先,利用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字左右,这个游戏我早在一个月前左右就写好了,现在回去看,有些有啥作用我自己都忘记了)
有不懂的评论或者私信
觉得对你有帮助的小伙伴评论下,我就喜欢别人认可我做的东西
利用python制作自己的小游戏,超简教程相关推荐
- python制作阴阳师脚本_利用python制作一个阴阳师小游戏
利用python制作一个阴阳师小游戏 发布时间:2020-11-27 13:59:49 来源:亿速云 阅读:84 这期内容当中小编将会给大家带来有关利用python制作一个阴阳师小游戏,文章内容丰富且 ...
- python连连看小游戏_利用Python制作一个连连看小游戏,边学边玩!
导语 今天我们将制作一个连连看小游戏,让我们愉快地开始吧~ 开发工具 Python版本:3.6.4 相关模块: pygame模块: 以及一些Python自带的模块 环境搭建 安装Python并添加到环 ...
- 【源代码】Python制作的赛车小游戏,逆行飙车
python制作的赛车小游戏,逆行飙车,通过键盘方向键控制 程序运行截图 源代码 import pygame, sys, time, random# pygame 初始化 pygame.init() ...
- android打地鼠设计报告,android开发中利用handler制作一个打地鼠小游戏
android开发中利用handler制作一个打地鼠小游戏 发布时间:2020-11-25 15:21:11 来源:亿速云 阅读:136 作者:Leah 这期内容当中小编将会给大家带来有关androi ...
- Python制作的赛车小游戏源代码,逆行飙车
python制作的赛车小游戏,逆行飙车,通过键盘方向键控制 程序运行截图: 源代码 import pygame, sys, time, random# pygame 初始化 pygame.init() ...
- python英语词汇读音_利用Python制作查单词小程序(一):抓取来自百度翻译的单词释义和音标...
小编在学习英语的时候,遇到不认识的英语单词,会用百度翻译来查询单词的释义和音标,并播放单词的读音.为了便于复习和记忆,需要将单词的释义和音标以复制粘贴的方式保存到本地. 这个过程非常繁琐,于是小编就想 ...
- [Python] 利用 Python 制作“飞花令”小工具
转载请注明:陈熹 chenx6542@foxmail.com (简书号:半为花间酒) 若公众号内转载请联系公众号:早起Python 介绍:飞花令是古时候人bai们经常玩一种"行酒令" ...
- pygame为游戏添加背景_用 Python 制作飞机大战小游戏
这这次用Python中的pygame模块来完成一个飞机大战的小游戏:基本思路是通过方向键来控制飞机的左右移动射击飞船.先来看下最后的效果为了新手也能完成,本文记录了编写的全部流程,也就是每次修改的代码 ...
- 用Python制作简单的小游戏
朋友们大家好,相信大部分人都喜欢玩游戏,无论是在工作间隙还是下班回家的路上,可能都会拿起手机玩游戏打发时间,亦或是在游戏中寻找乐趣,放松自己.上 我跟大家分享的内容主要是用Python的Pygame ...
最新文章
- js 改变change方法_JS 之设计模式
- 面向领域驱动的应用开发框架Apworks 2.5发布
- 大学计算机基础知识点_阿里云大学和腾讯云大学的计算机基础课程
- DateUtils.paraseDate(String sDate,String[] parasePatterns);转换时间不对,pattern数组顺序
- Java基础11-封装(思想、访问权限、this、构造方法)
- 优酷 米兔机器人_小米(MI)米兔故事机智能故事机机器人智能机器人儿童早教机...
- youleb多风格响应式博客wordpress主题模板
- Android 系统(151)----添加开关机铃声
- [FJOI2014] 石子合并问题
- 手机图形计算器matlab,科学图形计算器 Mathlab
- seaborn无法下载数据的问题
- SAS安装后无法使用增强型编辑器问题解决方法
- 科创人|奈学教育创始人孙玄:《是的,我创业了》之后的600天
- iOS开发面试只需知道这些,技术基本通关!(网络篇)
- 计算机毕业设计springcloud基于微服务的家居体验平台的设计与实现
- android FDE功能介绍
- VS2010如何安装MSComm控件
- kettle的调度监控平台
- 云计算实验2 Spark分布式内存计算框架配置及编程案例
- http header
热门文章
- JavaScript 值得一读的书籍
- ipp协议 服务器,IPP远程服务
- imap服务器收缓存pst文件夹,Outlook 转移OST数据文件 IMAP账户
- Facebook - 150亿张照片海量存贮架构
- Redis~集群(分布理论、一致性哈希分区、虚拟槽分区、节点握手、集群通信、集群伸缩、请求路由、故障转移、集群维护)
- 2020腾讯视频实习生面试
- tomcat7绿色版服务配置
- android开发网站的流程图,Android_客户端开发流程图及案例.pdf
- 华为LiteOS操作系统中的LOS_DL_LIST_ENTRY怎么理解?
- 用户态网络协议栈-OFP-网络框架分享