python小飞机程序
今天决定写个小程序,再系统地学习PY。跟着个视频写代码,没想到视频中坑点无数,老师讲的也不太详细,不过终于算是搞定了,发出来供初学者节省下时间:
坑一:osx 上安装 python3:由于mac自带了python,不过版本太低,pip也没有,所以要先安装新版,我下载了3.5.6,安装完成。自带的2.7我也没管,万一以后用到呢。
安装就直接安装到/usr/local/bin,这个目录下面了。之前mac自带的,在/usr/bin 这里面。
安装完成之后,其实环境变量你会发现也都自动都配好了。到安装目录下,会看到比如pip3,python3等命令了。
然后就可以执行:pip3 install pygame,实现pygame的安装。
然后,对Pycharm,进行配置,把python3的解释器也给配进去,在Project Interpreter中。
另外,在写.py文件时,import pygame还是会报错,因此还要做个修改:
第一步:打开Pycharm
第二步:点File ->Default Settings->Project Interpreter
双击pip,然后搜索pygame,再install,看到成功,则环境这一块,就算切换完成了。。。
----------------------------------------分隔线----------------------------------------
至于代码,我都写在注释里,就不解释了。
import pygame
from pygame.locals import *
import timedef main():#可以自动初始化pygame.init();screen = pygame.display.set_mode((480,852),0,32)background = pygame.image.load("./feiji/background.png")plane = pygame.image.load("./feiji/hero1.png")x = 480 / 2 - 50;y = 600;speed = 10 #设置飞机的位置list =[]while 1:screen.blit(background, (0, 0))screen.blit(plane, (x, y))#如果不判断event,则不会显示出画面#检查是否有新事件,如果有的话,否则转到退出命令,退出程序。for event in pygame.event.get():if event.type == pygame.QUIT:# 解析器关闭时会自动调用quitpygame.quit()exit(0)key_pressed = pygame.key.get_pressed()if key_pressed[K_UP]:if(y - speed >=0):y = y - speed;if key_pressed[K_DOWN]:if(y + speed <=852-100):y = y + speed;if key_pressed[K_LEFT]:if(x - speed >= 0):x = x - speed;if key_pressed[K_RIGHT]:if(x + speed <= 480-100):x = x + speed;if key_pressed[K_SPACE]:print("发射子弹")#子弹的详细信息bullet = pygame.image.load("./feiji/bullet.png");my_bullet = {"子弹":bullet,"x坐标":x+50,"y坐标":y};list.append(my_bullet)for i in list:screen.blit(i["子弹"],(i["x坐标"],i["y坐标"]))i["y坐标"] = i["y坐标"] -25;#0.01秒唤醒一次time.sleep(0.01)pygame.display.update();main();
以上当中,最奇怪的地方,就是如果不加事件判断,那么会看不到图像,只有在停止运行时,图片才会一闪而过。我也没太想明白问题出在哪里,总之加上对event的判断,就没问题了。
最终的结果:
python小飞机程序相关推荐
- python购物车程序2019_Python实现购物车程序
本文实例为大家分享了程序:Python购物车程序,具体内容如下 需求: 启动程序后,让用户输入工资,然后打印商品列表 允许用户根据商品编号购买商品 用户选择商品后,检测余额是否够,够就直接扣款,不够就 ...
- python 获取程序运行时间
python 获取程序运行时间 import time # 时间测试 start =time.time() # 运行程序 for i in range(100000000):pass end =tim ...
- 《Python 3程序开发指南(第2版•修订版)》——1.2 Python的关键要素
本节书摘来自异步社区<Python 3程序开发指南(第2版•修订版)>一书中的第1章,第1.2节,作者[英]Mark Summerfield,王弘博,孙传庆 译,更多章节内容可以访问云栖社 ...
- spark指定python版本_如何将正常的Python应用程序正确转换为PySpark版本
我是PySpark的初学者,最近我尝试向我的Spark集群提交一个简单的python应用程序(批量调整大小图片).我可以成功地通过pycharm运行该应用程序,并且当我将应用程序提交给spark时,图 ...
- python语言包含的错误,Python语言程序中包含的错误,一般分为三种,以下____________不是其中的一种...
Python语言程序中包含的错误,一般分为三种,以下____________不是其中的一种 答:编译错误 人体体温能自动调控在37度,其原因是( ). 答:人体内产生的热能是分批放出的 人体内有完善的 ...
- C++/Php/Python/Shell 程序按行读取文件或者控制台方法总结。
C++/Php/Python/Shell 程序按行读取文件或者控制台方法总结. 一.总结 C++/Php/Python/Shell 程序按行读取文件或者控制台(php读取标准输入:$fp = fope ...
- python语言程序设计2019版第二章课后答案-python语言程序设计基础课后答案第二章...
python语言程序设计基础课后答案第二章 以下合法的用户自定义标识符是____________. 导入模块或者模块中的元素要使用关键字________ . 下列哪个函数是用来控制画笔的尺寸的____ ...
- python语言程序设计嵩天-python语言程序设计基础(嵩天版),第二章程序练习题...
python语言程序设计基础(嵩天版),第二章程序练习题 欢迎访问江南烧酒的博客 2.2汇率兑换程序.按照1美元=6人民币汇率编写一个美元和人民币的双向兑换程序. """ ...
- python画图程序有图-python画图程序
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 今天做的是用python实现画图,画出你想要的图案,只要你的想象力足够丰富,以及 ...
- python运行程序-一文看懂python程序的执行过程
本文主要介绍的是python程序的执行过程,首先介绍的是编译过程,其次介绍的是过程图解及编译字节码,最后介绍了codeobject对象的属性,具体的跟随小编一起来了解一下. 一.编译过程概述 当我们执 ...
最新文章
- 二分类卷积核极限数量实验
- centos+nginx+php+mysql(经典架构流程案例)
- Java基础之扩展GUI——高亮元素、上下文菜单、移动旋转元素、自定义颜色(Sketcher 10)...
- 前端18个月难度翻番?来这里把握大前端技术本质进展丨稀土开发者大会
- iptables原理知识
- SDOI2018 旧试题
- 【Android进阶】SlidingMenu实现侧滑栏效果的实现
- javac 与java_javac和参数用法java命令的-d -cp
- 为VS2005添加X64编译平台
- ildasm、ilasm修改、反编译 已经编译的 dll文件(c#)
- 更新WP Mango应用磁贴内容的3种方法
- win10系统架设魔兽服务器,win10系统局域网魔兽争霸无法联机的步骤
- Pytorch 了解强化学习(RL)
- 用C语言写藏头诗或藏尾诗
- 当Androidstudio添加权限后仍然报错java.lang.SecurityException: Permission Denial
- SeeDAO专访:11 个月 4 次低谷,一个 DAO 如何从停滞中重生?
- Spring boot Shiro 用户认证
- 矩阵的秩+基础解系的秩为什么等于n?
- 实用正则表达式匹配和替换
- Python自用手册
热门文章
- iphone查看删除的短信_手机里的短信不小心删除了怎么才能恢复?此文为你解答...
- c语言中宽字节,fgetwc读取的是宽字节么?
- mysql 查看锁表_MySQL的四种事务隔离级别
- mongodb php存储日志,laravel 框架使用mongodb 保存日志
- pod install pod update
- 「洛谷3469」「POI2008」BLO-Blockade【Tarjan求割点】
- TensorFlow 学习可视化 TensorBoard 简易教程
- Too many open files故障解决一例
- 网易和淘宝的rem方案剖析
- jQuery数据缓存功能的解析及简单实现