懒得客套,直接步入主题

首先,利用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制作自己的小游戏,超简教程相关推荐

  1. python制作阴阳师脚本_利用python制作一个阴阳师小游戏

    利用python制作一个阴阳师小游戏 发布时间:2020-11-27 13:59:49 来源:亿速云 阅读:84 这期内容当中小编将会给大家带来有关利用python制作一个阴阳师小游戏,文章内容丰富且 ...

  2. python连连看小游戏_利用Python制作一个连连看小游戏,边学边玩!

    导语 今天我们将制作一个连连看小游戏,让我们愉快地开始吧~ 开发工具 Python版本:3.6.4 相关模块: pygame模块: 以及一些Python自带的模块 环境搭建 安装Python并添加到环 ...

  3. 【源代码】Python制作的赛车小游戏,逆行飙车

    python制作的赛车小游戏,逆行飙车,通过键盘方向键控制 程序运行截图 源代码 import pygame, sys, time, random# pygame 初始化 pygame.init() ...

  4. android打地鼠设计报告,android开发中利用handler制作一个打地鼠小游戏

    android开发中利用handler制作一个打地鼠小游戏 发布时间:2020-11-25 15:21:11 来源:亿速云 阅读:136 作者:Leah 这期内容当中小编将会给大家带来有关androi ...

  5. Python制作的赛车小游戏源代码,逆行飙车

    python制作的赛车小游戏,逆行飙车,通过键盘方向键控制 程序运行截图: 源代码 import pygame, sys, time, random# pygame 初始化 pygame.init() ...

  6. python英语词汇读音_利用Python制作查单词小程序(一):抓取来自百度翻译的单词释义和音标...

    小编在学习英语的时候,遇到不认识的英语单词,会用百度翻译来查询单词的释义和音标,并播放单词的读音.为了便于复习和记忆,需要将单词的释义和音标以复制粘贴的方式保存到本地. 这个过程非常繁琐,于是小编就想 ...

  7. [Python] 利用 Python 制作“飞花令”小工具

    转载请注明:陈熹 chenx6542@foxmail.com (简书号:半为花间酒) 若公众号内转载请联系公众号:早起Python 介绍:飞花令是古时候人bai们经常玩一种"行酒令" ...

  8. pygame为游戏添加背景_用 Python 制作飞机大战小游戏

    这这次用Python中的pygame模块来完成一个飞机大战的小游戏:基本思路是通过方向键来控制飞机的左右移动射击飞船.先来看下最后的效果为了新手也能完成,本文记录了编写的全部流程,也就是每次修改的代码 ...

  9. 用Python制作简单的小游戏

    朋友们大家好,相信大部分人都喜欢玩游戏,无论是在工作间隙还是下班回家的路上,可能都会拿起手机玩游戏打发时间,亦或是在游戏中寻找乐趣,放松自己.上 我跟大家分享的内容主要是用Python的Pygame ...

最新文章

  1. js 改变change方法_JS 之设计模式
  2. 面向领域驱动的应用开发框架Apworks 2.5发布
  3. 大学计算机基础知识点_阿里云大学和腾讯云大学的计算机基础课程
  4. DateUtils.paraseDate(String sDate,String[] parasePatterns);转换时间不对,pattern数组顺序
  5. Java基础11-封装(思想、访问权限、this、构造方法)
  6. 优酷 米兔机器人_小米(MI)米兔故事机智能故事机机器人智能机器人儿童早教机...
  7. youleb多风格响应式博客wordpress主题模板
  8. Android 系统(151)----添加开关机铃声
  9. [FJOI2014] 石子合并问题
  10. 手机图形计算器matlab,科学图形计算器 Mathlab
  11. seaborn无法下载数据的问题
  12. SAS安装后无法使用增强型编辑器问题解决方法
  13. 科创人|奈学教育创始人孙玄:《是的,我创业了》之后的600天
  14. iOS开发面试只需知道这些,技术基本通关!(网络篇)
  15. 计算机毕业设计springcloud基于微服务的家居体验平台的设计与实现
  16. android FDE功能介绍
  17. VS2010如何安装MSComm控件
  18. kettle的调度监控平台
  19. 云计算实验2 Spark分布式内存计算框架配置及编程案例
  20. http header

热门文章

  1. JavaScript 值得一读的书籍
  2. ipp协议 服务器,IPP远程服务
  3. imap服务器收缓存pst文件夹,Outlook 转移OST数据文件 IMAP账户
  4. Facebook - 150亿张照片海量存贮架构
  5. Redis~集群(分布理论、一致性哈希分区、虚拟槽分区、节点握手、集群通信、集群伸缩、请求路由、故障转移、集群维护)
  6. 2020腾讯视频实习生面试
  7. tomcat7绿色版服务配置
  8. android开发网站的流程图,Android_客户端开发流程图及案例.pdf
  9. 华为LiteOS操作系统中的LOS_DL_LIST_ENTRY怎么理解?
  10. 用户态网络协议栈-OFP-网络框架分享