前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2018年8月10日对飞机大战的思考和将python源文件打包成exe可执行文件

2018年8月10日对飞机大战的思考和将python源文件打包成exe可执行文件

作者头像
武军超
发布2018-09-27 11:23:57
1.6K0
发布2018-09-27 11:23:57
举报

今天遇到的新单词: script n脚本 terminate vi结束 ***************************** 将Python文件怎么打包成win下直接能执行的exe文件: 在win终端输入命令下载pyinstaller,命令是:  pip install pyinstaller 安装完后,检查安装成功与否,pyinstaller --version 下载后在图形化界面到你要打包的的文件目录下,cmd切换到该目录下的shell 用命令 pyinstaller -F -w (要打包的主文件名.py) 意义是打包成一个单独的文件并且不要shell窗口直接运行 只打包主启动py文件就可以了,其他的py文件不需要打包,打包后会生成一个build和一个disk文件夹 disk文件夹里面就是可以直接启动的exe文件,然后把文件中用到的的音乐图片全部都拉到disk文件夹中, 直接点击exe文件就可以直接运行了,也可以直接发给其他人直接运行 要注意的是,PyInstaller打包的执行文件,只能在和打包机器系统同样的环境下。也就是说, 不具备可移植性,若需要在不同系统上运行,就必须针对该平台进行打包。 用pyinstaller打包时候各个参数的意义:

-F  指定打包后只生成一个exe格式的文件

-D –onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项)

-c –console, –nowindowed 使用控制台,无界面(默认)

-w –windowed, –noconsole 使用窗口,无控制台

-p  添加搜索路径,让其找到对应的库。

-i  改变生成程序的icon图标

****************** 王奎: 屏幕是怎么向两边打开的?   设两个图片精灵,x轴分别向两边走 坦克大战怎么实现坦克的转向不同枪口指向不同的? 添加四个不同方向枪口的坦克图片,方向键切换不同的图片 pygame中的kill()命令的真正意义是不再渲染,在精灵组里面就是把这个精灵清除,不会再检测到碰撞,而不会真正杀死那个变量,那个变量还是存在的 怎么解决按一次键却发射了很多子弹,怎么向三个方向发子弹:加一个变量,当调用够30次的时候就触发一次, 可以控制子弹的发射速度,斜着发射可以设置一个rect.move(x,y),也可以给x轴一个速度,让子弹斜着发射。

继承父类的真正作用:加载图片并让图片动起来 余自华保护罩怎么跟着走和显示在飞机上?保护罩建立一个精灵组,x,y坐标一直随着英雄飞机的坐标变化, 并把保护罩渲染在飞机上

赵军臣: 暂停按钮,可以使游戏所有场景音乐暂停是怎么做到的?在开始设置一个标签,可以设为False,在游戏窗口上 添加一个暂停按钮,当点击之后False变成true,场景内的所有精灵的速度都设为0,音乐关闭pause,再点击一下 暂停键,重新所有速度speed重新赋值让程序运行起来

孙世玉: 英雄飞机打子弹的时候英雄飞机颜色是怎么变的?图片的切换 怎么让子弹散开:可以定义pygame.rect.move(x,y),让子弹斜着发射,再加入数学函数可以让子弹从中间向四周 随机散开 动画怎么做出来的:多张图片的定时切换 在背景上飞机怎么飞到指定的位置:开始给一个速度,飞到指定的位置指定一个边界限制 怎么选飞机和选场景:要用面向对象的思想特别简单

怎么实现攻击boss它才会反击:碰撞检测,碰撞了就触发某种事件 图形化界面中在想要执行的py文件上面的目录地址直接输入cmd进入该目录下的终端窗口, 如果想要直接执行该启动文件让程序跑起来,直接python 文件名.py就可以了, 如果不输入python, 直接文件名.py是打开py文件而不是运行

win+p  : 快速更改当前投影模式,实现多屏显示,一般用于投影仪 游戏结束的时候飞机消失,其他精灵继续的透明效果是怎么实现的?直接让英雄飞机消失,然后让游戏结束的 字体出现并渲染在游戏界面上速度设为0. pygame中的自定义事件无论多少都是写USEREVENT +1 锻炼口才 python的类中设置静态方法的优势是可以在不用创建对象的前提下,直接类名.方法名直接使用,文件中的所有对象 都可以直接调用,适用于一些公共的操作,静态方法的调用方式有两种,第1种是对象名.方法名,第2种是类名.方法名

win切换盘符: 直接盘符名称冒号:d: 如果想快速启动python文件可以在终端运行启动,首先在图形化界面切换到想要执行的文件目录下 在该目录上边的路径上可以直接输入cmd进入该目录下的shell,输入python main.py(启动文件名)运行 win中cls清屏,linux中是clear, python中os.sys(cls) win中退出是ctrl+c,linux中退出是ctrl+z和ctrl+c都可以 pygame中surface对象也就是图像对象,也可以说是一个精灵对象 linux中如果软件死机或者进程被占用,可以先用ps -ef|grep 进程名 查看该进程的进程号 然后用kill -9 进程号 可以杀死该进程,-9是强制杀死 psgrep 进程名 可以直接查看该进程的进程号

# 监听键盘上的事件用pygame.key.get_pressed() key_down = pygame.key.get_pressed() if key_down[pygame.K_LEFT]: print("向左移动") game_sprites.hero2.rect.x -= 5

#监听窗口中的所有事件用pygame.event.get(),如果需要鼠标操作就需要要判断鼠标是否按下了 for event in pygame.event.get():                   #获得事件 if event.type == pygame.MOUSEBUTTONDOWN:           #判断鼠标位置以及是否摁了下去。 if 180 <= event.pos[0] <= 360 and 292 <= event.pos[1] <= 365:  #开始游戏  engine.start()

#监听窗口中的自定义事件,如果自定义事件的时间到了的话就会触发某种功能 event_list = pygame.event.get() for event in event_list: if event.type == pygame.QUIT: pygame.quit() exit() if event.type == game_sprites.CREATE_ENEMY: # 创建一架敌机 print("创建一架敌机") enemy = game_sprites.EnemySprite() game_sprites.enemys.add(enemy) # 出发敌机的攻击事件 enemy.fire()

#生成一个窗口 screen=pygame.display.set_mode([640,480])里面的第一个参数必须是一个列表,也可以是如下的形式 screen=pygame.display.set_mode((640,480), 0, 32), 第一个参数是大小,第二个参数是控制是否全屏,第三个参数是显示颜色深度

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年08月11日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档