教小孩子画画简单动物(9至12岁的)可以制作简单的小游戏吗

安卓早教游戏大全
孩子从小教育是非常重要的,这会影响到孩子一身的发展!所以说家长一定要为孩子挑选出最适合孩子自己的早教游戏,今天游迅网就为各位家长解决了这个早教的问题,小编为大家精心挑选了最新的安卓早教游戏,让你的孩子在玩游戏的过程中体验到学习的乐趣!
大小:48MB
简介:儿童宝宝早教乐园是最新出品的儿童早教游戏平台,应用根据教育部最新颁布的《3-6岁儿童学习与发展指南》进行策划,充分研究了3-6岁幼儿学习与发
大小:17MB
简介:动物园火车(Zoo Train)是一款非常不错的寓教于乐的游戏套装。属于幼教类的游戏,专为幼儿和学龄前儿童设计,里面的很多内容都是小朋友们喜
大小:12MB
简介:圣诞儿童制作蛋糕是一款休闲装扮类游戏,如果你有一个蛋糕要如何装扮?有没有想过成为华丽的糕点师,让众多精美的蛋糕呈现在自己手下,游戏中众多装饰
简介:儿童学习水果游戏是一款非常有趣的帮助儿童早教的益智小游戏,游戏的画面非常的简单,画风也很可爱,非常容易吸引孩子们的兴趣,适合孩子们体验。这款...
大小:37MB
简介:宝宝医院宝宝巴士是一款非常具有趣味性的益智休闲小游戏,游戏的采用了十分Q萌的卡通画风,给玩家非常舒适的游戏体验,这款游戏主要是针对小朋友而开...
大小:287KB
简介:儿童数学游戏是一款益智早教游戏。一个人的智力基本上是在儿童阶段开始培养起来的,只有重视儿童教育才能培养出聪明的孩子,很多儿童都在使用的儿童数...
大小:35MB
简介:儿童搭积木是一款好玩的趣味性休闲游戏,游戏画面可爱,各种积木用搭房子的方式摞在一起,每次都会是不一样的惊喜,赶紧来和宝宝一起玩吧。 把房子做...
大小:25MB
简介:儿童3D真实趣味卡车模拟 Kids Construction Trucks》专为儿童开发的一款休闲益智类手机游戏,让你的孩子在平板设备上享受...
简介:儿童连连看海底世界是一款益智游戏和娱乐的完美结合,全新的引擎,游戏更为稳定流畅,保留连击消除的酣畅淋漓的快感;全新界面,全新感受,极致体验尽...
大小:18MB
简介:儿童魔法棒棒糖是一款操作简单的消除类游戏。游戏画面精美,操作简单,各种糖果让人眼花缭乱,更有多种模式供你选择。 五颜六色的糖果在视觉上带给你...
简介:儿童欢乐戳气球是一款在清闲之余放松自己的气球射击游戏,通过点击不断上升的气球来增加游戏分数。 玩法简单,容易上手,但是想要获得高分还是有点难...
大小:39MB
简介:儿童脸漆(Kids Face Paint)是一款专为儿童定制的绘画风格的休闲类游戏。打开游戏,一起进入一个绘画世界吧!你可以先从六个可爱的孩...
大小:18MB
简介:儿童生物捕捉器是一款让你的孩子无时无刻洋溢着幸福笑脸的娱乐类游戏,游戏的玩法非常的有趣,画风也是十分的唯美,一定会让你的孩子玩的更健康! ...
大小:17MB
简介:儿童游戏学交通是一款为儿童准备的逻辑启蒙教育类游戏,让你的孩子从小就懂得交通规则的重要性,游戏一定能给你的孩子带来无限的乐趣!...
大小:16MB
简介:幼儿及儿童学前教育是一款非常儿童学习的逻辑启蒙教育类游戏,游戏中融合了大量的学习字母供你选择,还有各种匹配的字母需要你手动去匹配!...
简介:小象认形状是一款非常好玩的具有教育意义的益智小游戏,游戏的画面采用了非常的可爱的卡通画风,游戏的画面非常的简约清爽,操作界面十分简单,游戏的...
大小:13MB
简介:恐龙来了是一款非常好玩的具有教育意义的益智小游戏,游戏的画面采用了非常的可爱的卡通画风,游戏的画面非常的简约清爽,操作界面十分简单,游戏的玩...
简介:儿童学习字母游戏是一款非常有趣的帮助儿童早教的益智小游戏,游戏的玩法非常的简单,画面也很简约,画风十分可爱,非常容易吸引孩子们的兴趣,适合孩...
简介:儿童教育识数字是一款非常有趣的帮助儿童早教的益智小游戏,游戏的玩法非常的简单,画面也很简约,画风十分可爱,非常容易吸引孩子们的兴趣,适合孩子...
简介:儿童放假学做饭游戏是一款非常好玩的模拟做饭的休闲小游戏,游戏的画面采用的3D的画面效果,非常的真实,能够给玩家带来身临其境的逼真体验。在这款...
大小:13MB
简介:少儿学英语游戏是一款非常具有教育意义的益智小游戏,有这款游戏中是专门为学龄前儿童设计的早教益智小游戏,游戏的画面采用的十分可爱卡通画面给玩家...
简介:早教图文版是一款儿童益智游戏。让您的孩子赢在起跑线! 游戏特色 1.学习元素:初级阶段为闯关模式,通过有趣的图片认识事物,进阶模式可以自己拍...
简介:《幼儿有声数学》是一款儿童早教类益智游戏。摒弃原来的哑巴软件教学模式,引入有声教学,通过美女老师的有声指导,用快乐的方式,引导您的孩子逐渐掌...
简介:口算天天练是一款儿童早教益智休闲小游戏。 研究表明,数学是思维的体操,而口算训练是体操中的重要一节。口算训练时学生在瞬间要进行各种复杂的思维...
简介:儿童动物拼图是一款真实的以动物为题材的拼图游戏。游戏的画面非常精美,包括每一块的拼图块都非常清晰,犹如真的拼图一样。拼图动物种类非常丰富,画...
大小:18MB
简介:儿童学拼音是一款专为儿童准备的教育类手游,这款游戏能让你的孩子提前学习拼音,让孩子体验学习的乐趣!...
大小:16MB
简介:儿童小厨房是一款模拟休闲游戏,游戏画面美丽精致,各种美味餐点种类丰富。 专为宝宝设计厨房美食小游戏,让宝宝小手动起来,做出美味的食物,增添趣...
大小:17MB
简介:幼儿和学龄前儿童的颜色是一款专为儿童量身打造的教育类休闲游戏,游戏中你将带你孩子学习一些非常新颖独特的新事物,让还在在玩的过程中将这些颜色全...
大小:38MB
简介:儿童夏令时是一款专为孩子准备的休闲类游戏,游戏中你将带领孩子们制作出最美味的食物,然后带着这些食物去度过一个温馨而浪漫的夏令营! ...
大小:21MB
简介:星际宝贝找字母是一款非常具有趣味性的益智消除小游戏,游戏的画面非常的可爱清新,玩法也非常简单有意思,在这款游戏中,玩家可以自由选择不同的游戏...
大小:64MB
简介:达达安全系列之居家篇是一款追梦针对儿童打造的具有教育意义的休闲小游戏,游戏的画面采用的十分可爱的卡通画面,游戏的界面简洁清爽,画面风格清新怡...
大小:48MB
简介:儿童校园安全 多纳是一款专为幼儿园安全设计的休闲类游戏。让宝贝通过观看安全故事学会自护、懂得安全!小动物们正翻越栏杆,想要爬向幼儿园外面!迅...
大小:33MB
简介:小朋友培养环保意识是一款儿童早教休闲游戏,地球是我家保卫靠大家,环保意识很重要要从小培养,小朋友通过游戏的方式认清那些是生活上的垃圾。 收集...
大小:18MB
简介:儿童游戏学水果是一款适合儿童玩的一个教育益智类手机游戏,采用交互式学习方式, 由可爱的卡通卡片和小朋友进行互动,场景漂亮可爱。帮助宝宝在玩耍...
大小:35MB
简介:马超的树屋是一款专门为婴儿和小孩的英语语言训练量身打造的学习益智类小游戏。这款游戏的目的是教会你的小孩英语。这款游戏具有高品质,高标准,因为...
大小:11MB
简介:看动物学数字(Count On Me)一款有趣的儿童益智游戏,指引动物回到各自的家,在这个过程中,孩子们将学会有多少个动物被送到了各自的家,...
简介:全世界青少年、儿童都在玩的益智找茬游戏! 儿童益智找茬游戏是专门为儿童准备,尤其是2-10岁智力发育非常关键时期的儿童准备的,主要是为了锻炼...
简介:儿童游戏猜左右是一款专门针对儿童研发的一款休闲益智类手机游戏,有助于开发儿童智力, 儿童游戏猜左右玩法 尽量用最短的时间判断出屏幕出现的左手...
大小:37MB
简介:儿童卡通动物学知识是一款以动物园为背景的教育类休闲游戏,游戏中你将能带领你的孩子开心的学习所有野生动物的名字和叫声,还能画出任何你喜欢的东西...
大小:29MB
简介:儿童游戏儿歌音乐是一款带着指示帮你成为音乐家的儿歌音乐类儿童游戏!游戏适合1-7岁宝宝玩,是宝宝的随身乐队、儿童音乐台,也是为宝宝开启音乐梦...
大小:17MB
简介:儿童果冻消除是一款款轻松休闲的消除类游戏。游戏画面清新美丽,各色果冻看的人垂涎欲滴,更有两种模式供你选择,一起来消除吧。 游戏界面清新亮丽,...
大小:10MB
简介:宝宝拖拖乐是一款适合早龄儿童玩的休闲益智类小游戏,玩家要做的就是匹配图片中形状相同的图案,有利于培养孩子的记忆能力和形状适应能力。 宝宝拖拖...
大小:28MB
简介:教育儿童游戏是一款培养孩子学习的趣味性教育类游戏,游戏中充满了童真的趣味性,能让你的孩子在游戏中开心快乐的成长! 学习有趣的方式不同的数字与...
大小:13MB
简介:儿童汽车游戏是一款针对儿童教育打造的休闪益智类手机游戏,欢乐亲子游戏,开发孩子智力,精心设计的场景,童趣,快乐。你的孩子喜欢汽车、挖掘机、机...
大小:24MB
简介:儿童茶话会派对是一款有趣的儿童教育类游戏。游戏画面精致,能提起宝宝的兴趣,操作十分简单,来开一个属于宝宝的茶话会吧。 帮助孩子们策划一个完美...
大小:38MB
简介:海滩派对儿童游戏是一款专为儿童定制的休闲娱乐类游戏,游戏中孩子们可以与家人在海滩上自由的畅玩,并且要找到游戏中指定的物品,你千万不能错过的海...
大小:46MB
简介:日托儿童飞机游戏是一款针对小孩子研发的一款休闲益智类手机游戏,游戏页面卡通动画感较强,可爱超萌的飞机,成为一大亮点。装点你的飞机,修理飞机,...
大小:33MB
简介:宝宝爱分享是一款可以帮助宝宝早日适应与同龄人相处的手机游戏。用宝宝最熟悉的场景,最可爱的互动,让宝宝在游戏中学习与同伴分享,学习关心和体察他...
简介:早教架子鼓是一款最受儿童喜爱的鼓系列逼真的震动以及鼓声,绝对适合您与小朋友互动多种情景模式(各种彩蛋等您来打开,请尝试切换左上角的按钮,会给...
大小:11MB
简介:儿童猜水果是一款儿童早教的认知游戏。认识水果,通过看图猜物的形式了解常见水果,包含100种水果,让儿童在玩游戏的同时认识水果,免掉枯燥乏味的...
大小:45MB
简介:计算王国(The Counting Kingdom)是一款结合了教学元素,专门为儿童打造的另类可爱运算游戏,虽然拥有一定的策略成分,但画面风...
简介:开心算萌宠是一款以学习为题材的休闲益智类游戏。内容分为认识数字和算数训练两部分。通过开心算萌宠的早教启蒙教育,小朋友可以在快乐的游戏中认识数...
大小:23MB
简介:宝宝画册是一款非常有趣的帮助儿童早教的益智小游戏,游戏的画面非常的简单,画风也很可爱,非常容易吸引孩子们的兴趣,适合孩子们体验。这款游戏的玩...
大小:11MB
简介:看局部识图是一款非常具有趣味性的益智休闲小游戏,游戏的画面非常的简约清爽,操作,操作界面也十分的简洁,玩家在游戏中用户可以通过点击任意部分看...
大小:14MB
简介:宝贝小公主游戏是一款为小朋友和家长们量身打造的一款有趣的亲子早教类的小游戏合集,游戏的画面非常的可爱卡通,非常适合小朋友们进行体验,而且还不...
简介:爱学小学校是一款儿童教育的休闲游戏。最适合于学龄儿童的乘法练习,随机的乘法算术题,同时统计回答的正确率等功能 ,更有乘法算术表。
大小:13MB
简介:宝宝早教乐数字篇是一款益智类手游,游戏是针对1-12岁的小朋友学习、测试的动漫小游戏,游戏采用迪斯尼动漫设计,轻松的背景音乐,形象的数字教学...
大小:12MB
简介:大耳朵图图做早教是一款专为儿童定制的教育类手游,这是个联想记忆力训练工具,通过一张张卡牌,记忆其代表的意义,然后使用联想的办法将其先后关系串...
大小:46MB
简介:坦克日托儿童游戏是一款针对小孩子研发的一个休闲益智手机游戏,坦克日托是游戏的孩子通过GameImax在那里他们可以匹配和选择所有的机器的超级...
大小:28MB
简介:儿童乐趣俱乐部(Kids Fun Club)是一款专为儿童定制的休闲娱乐游戏。孩子们组成了一个乐趣俱乐部,你准备好来帮助这些可爱的孩子们了吗...
大小:33MB
简介:小朋友学认动物是一款儿童教育休闲游戏,游戏画面简洁,操作简单,萌系可爱的画面,在游戏中教会你认识身边的动物! 整天看见它晒太阳,睡大觉,懒洋...
大小:15MB
简介:比一比是一款益智类手机游戏,游戏主要面向小学一年级,帮助孩子学习比多少,让孩子通过游戏学习知识。 游戏界面包含了小兔子爱吃胡萝卜,帮助小兔子...
大小:57MB
简介:巧虎早教-找动物是一款儿童学前教育游戏。玩法非常简单,适合学前儿童。根据经典早教课程开发。通过不同的小动物混合在一起,孩子要自己找出制定的小...
大小:50MB
简介:英语自学一款基于艾宾浩斯记忆曲线的、完全离线的智能背单词儿童早教游戏。海量课程;智能循环记忆系统;小巧的英汉字典;独有的边听边背功能。 当前...
大小:13MB
简介:儿童迷宫游戏是一款帮助儿童激发潜意识智慧的益智类迷宫游戏,游戏场景众多,玩起来也是非常具有挑战性的,游戏中的场景有小狗找妈妈、宝宝找冰淇淋,...
大小:44MB
简介:小宝贝:儿童游戏是一款非常好玩的儿童教育类游戏,游戏中你将为你的孩子打扮的美美的,让他们有一个健康快乐的童年! ...
大小:17MB
简介:儿童游戏学蔬果是一款为你的孩子精心的选择了各种不同水果蔬菜图片进行教育的休闲游戏,游戏中更有多种游戏模式供你选择! 儿童教育,儿童游戏,认识...
大小:15MB
简介:儿童早教之讲卫生是一款专为儿童定制的启蒙类教育游戏,游戏中贵在教育孩子讲究卫生,这个是非常重要的,这不仅会关系到儿童的健康,更是能让孩子在玩...
大小:46MB
简介:宝贝当消防员是一款非常具有趣味性和教育意义的益智休闲小游戏,游戏的画面采用的十分可爱的卡通风格,便于家长们对小朋友们进行教育,游戏的宗旨也是...
大小:17MB
简介:宝宝爱洗衣服是一款专为宝宝设计的洗衣服家务劳动儿童早教小游戏,这款游戏操作非常简单,非常适合小朋友玩呦! ...
合集推荐Collections
CopyRight2004年-年 YXdown.Com 游迅网 All Rights Reserved
备案编号:沪ICP备号-9你所在的位置: >
9u7小游戏大全
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40.
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40.
【9u7小游戏专题】
专题介绍:7399小游戏为您提供最新最全【9u7】小游戏在线免费玩,还有各类9u7小游戏下载,最新的9u7小游戏排行榜,更多好玩的小游戏尽在7399游戏大全!&&&&&&&&&&&&
训练孩子注意力的9个小游戏
  6、复述数字&&
  大人一开始先报简单的几位数,让孩子复述,大人再不断地增加一位数,让孩子复述。每次只增加一位数。比如,大人报“256”,孩子重复一遍,大人再报“2568”,孩子再重复,大人再报“25681”,孩子再重复,以此类推。孩子能记住的越长越好,但也要看程度适可而止。坚持每天一练。孩子在不断复述当中,注意力必须高度集中,从而即锻炼了记忆力,又锻炼了注意力。
            
主讲:知良教育
主讲:王琛
免责声明:
① 凡本站注明“稿件来源:中国教育在线”的所有文字、图片和音视频稿件,版权均属本网所有,任何媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发表。已经本站协议授权的媒体、网站,在下载使用时必须注明“稿件来源:中国教育在线”,违者本站将依法追究责任。
② 本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。
| 京ICP备号 |
CERNET Corporation12岁的少年教你用Python做小游戏 - Python - 伯乐在线
& 12岁的少年教你用Python做小游戏
你有没有想过电脑游戏是怎样制作出来的?其实它没有你想象的那样复杂!在这个教程里,你要学做一个叫《兔子和獾》的塔防游戏,兔子作为英雄,需要在城堡里抵御獾的进攻。
为了写这个游戏的代码,你将会用Python。好吧,我不是指一条大蟒蛇!
Python是一种计算机语言。我们在这篇教程里选择Python是因为这门语言很容易上手,学习起来也很简单和有趣。
如果你是个Python方面的新手,在开始看教程之前你可以看看这本书《 》。这能让你看教程的时候不那么吃力。
在看了那本书后回到这里并且准备好——兔子和獾之间有一场大战爆发,一起来加入到这场战斗中来吧!
起步:安装Python
如果你想在Windows PC上尝试这篇教程里讲到的东西,你需要安装Python。确保你安装的是2.7.3版本,而不是3.3.0版本!在安装程序运行完之后,在开始按钮的“所有程序”里就会有IDLE了。首先启动IDLE。
如果你是用的Mac,上面已经是把Python装好了!打开终端,输入python,然后按回车就行了
注意:如果你是安装的从python.org下载的安装包,那么你在Mac上也可以启动IDLE了,它应该是在 /Application/Python2.7 这个文件夹里。
如果你按以上的步骤执行了,那么你可以看到一下的东西:
Python 2.7.3 (v2.7.3:dd, Apr
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Python 2.7.3 (v2.7.3:dd, Apr&&9 2012, 20:52:43) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwinType "help", "copyright", "credits" or "license" for more information.&&&
注意:如果你想迅速终止Python,你可以输入exit()然后按回车,或者是按Control+D。
现在很迅速的把Python环境配置好了,为了测试下Python是否正常工作,输入 print 1+1 然后按回车,应该会打印出2。你刚才就写了一个简单的Python程序!
那么,现在你知道Python已经能正常工作了,为了能用Python来写一个游戏,你需要安装PyGame。
PyGame是一个Python的库,能够让你更容易的写出一个游戏。它提供的功能包括图片处理和声音重放的功能,并且它们能很容易的整合进你的游戏里。
下载适合你的PyGame安装包。确保你下载的是针对2.7版本的库。
注意:从以上链接下载的PyGame安装包是无法与Mac上安装的Python一起正常工作的。你需要从 python.org 上下载一个Python安装包才能使用PyGame。或者,你可以用MacPorts来让你的Python和PyGame正常工作。
为了确定PyGame是否安装好了,打开IELD或者是在终端里运行Python,然后输入import pygame 并且回车。如果没有打出任何输出,说明没有问题。
但是,如果打出了如下图的输出,那么PyGame就没有被安装上。
Python 2.7.2 (default, Jun 20 :33)
[GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
&&& import pygame
Traceback (most recent call last):
File "&stdin&", line 1, in &module&
ImportError: No module named pygame
Python 2.7.2 (default, Jun 20 2012, 16:23:33) [GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] on darwinType "help", "copyright", "credits" or "license" for more information.&&& import pygameTraceback (most recent call last):&&File "&stdin&", line 1, in &module&ImportError: No module named pygame&&&
如果你发现了这样的错误,把出错的情况发到论坛上,我会帮助你把它运行起来
运行文件里的Python代码
现在你已经能在Python快捷终端里写一点代码了,如果你想要写一个更大一点的程序(比如游戏),那么你就需要把代码保存到文件里了。
有好几种运行文件里的Python代码的方法。其中一种方法是使用一个简单的文本编辑器,比如Windows系统上的nodepad,或者Mac上的TextEdit。打开一个新的文本文件,输入Python代码(比如print 1+1)。然后将其保存为XXX.py 。(XXX表示文件名)
在Windows上,双击这个py文件来运行它。在Mac上,打开终端然后输入python,然后把代码文件拖到终端上最后再按回车。
另一种运行代码的方法是使用IDLE编辑器,这是在这篇教程里主要使用的方法。要运行IDLE,需要在终端里输入idle,然后在菜单里选择新建文件,然后就可以利用这个文本编辑器来写Python代码了。你可以通过 File/Save 来保存文件,通过点击 Run/Run(F5)来运行代码。
要注意运行的菜单在编辑器里打开了文件之后才可用。
添加游戏资源
你现在已经基本上准备好来创建一个游戏了。但是哪个游戏没有很棒的图像和音效呢?我把游戏里需要的图像和音像保存在了zip档案里,点击这里下载。
在下载好文件后,为游戏创建一个文件夹然后把压缩文件解压到这个文件夹的子文件夹里,将其命名为resources,具体如下图:
我们现在可以开始做兔子和獾这个游戏啦!
第一步:你好,兔子
运行IDLE,打开一个新的文本编辑窗口。输入以下的代码:
# 1 - Import library
import pygame
from pygame.locals import *
# 2 - Initialize the game
pygame.init()
width, height = 640, 480
screen=pygame.display.set_mode((width, height))
# 3 - Load images
player = pygame.image.load("resources/images/dude.png")
# 4 - keep looping through
# 5 - clear the screen before drawing it again
screen.fill(0)
# 6 - draw the screen elements
screen.blit(player, (100,100))
# 7 - update the screen
pygame.display.flip()
# 8 - loop through the events
for event in pygame.event.get():
# check if the event is the X button
if event.type==pygame.QUIT:
# if it is quit the game
pygame.quit()
123456789101112131415161718192021222324252627
# 1 - Import libraryimport pygamefrom pygame.locals import *&# 2 - Initialize the gamepygame.init()width, height = 640, 480screen=pygame.display.set_mode((width, height))&# 3 - Load imagesplayer = pygame.image.load("resources/images/dude.png")&# 4 - keep looping throughwhile 1:&&&&# 5 - clear the screen before drawing it again&&&&screen.fill(0)&&&&# 6 - draw the screen elements&&&&screen.blit(player, (100,100))&&&&# 7 - update the screen&&&&pygame.display.flip()&&&&# 8 - loop through the events&&&&for event in pygame.event.get():&&&&&&&&# check if the event is the X button &&&&&&&&if event.type==pygame.QUIT:&&&&&&&&&&&&# if it is quit the game&&&&&&&&&&&&pygame.quit() &&&&&&&&&&&&exit(0)
把文件保存到你的游戏文件夹里,把它命名为 game.py 。我们现在看看这段代码做了什么:
导入pygame库,这一步能让你使用库里提供的功能
初始化pygame,设置展示窗口
加载作为兔子的图片
不停地循环执行接下来的部分
在给屏幕画任何东西之前用黑色进行填充
在屏幕的(100,100)坐标出添加你加载的兔子图片
检查一些新的事件,如果有退出命令,则终止程序的执行。
在运行这段代码后,你会看到一下的画面:
可以看到一个兔子在这里,准备好要战斗了!
但是暂时兔子看起来还是很孤独的,背景上只有它一个。现在是时候让它更进一步了。
第二步:添加背景
我们现在开始给游戏的背景加上一些风景。这可以通过一些 screen.blit() 的调用来实现。
在#3的结尾处,在添加玩家图片的后面,加上以下的代码:
grass = pygame.image.load("resources/images/grass.png")
castle = pygame.image.load("resources/images/castle.png")
grass = pygame.image.load("resources/images/grass.png")castle = pygame.image.load("resources/images/castle.png")
这段代码加载图片并将它们放在变量里。现在它们需要被画在屏幕上。但是当你检查了草的图片后,发现它不会覆盖整个屏幕,它的分辨率是640 x 480。
添加到 game.py 里#6的代码:
for x in range(width/grass.get_width()+1):
for y in range(height/grass.get_height()+1):
screen.blit(grass,(x*100,y*100))
screen.blit(castle,(0,30))
screen.blit(castle,(0,135))
screen.blit(castle,(0,240))
screen.blit(castle,(0,345 ))
&&&&for x in range(width/grass.get_width()+1):&&&&&&&&for y in range(height/grass.get_height()+1):&&&&&&&&&&&&screen.blit(grass,(x*100,y*100))&&&&screen.blit(castle,(0,30))&&&&screen.blit(castle,(0,135))&&&&screen.blit(castle,(0,240))&&&&screen.blit(castle,(0,345 ))
你可以看到,这段代码首先是依次通过x进行循环。又是一个依次通过y的循环并且根据循环里x和y的值来画上草的效果。接下来的几行就是在屏幕上画出城堡。
如果你现在运行你的代码,效果应该如下图:
好多了——现在开始看起来不错了!
第三步:让兔子能够移动
接下来你需要加上一些真正的游戏的元素了,比如让兔子能够随着按键移动。
为了做到这一点,首先,你需要实现一个方法,用来记录在某一时刻那个键被按下。可以通过新建一个按键状态的队列来存放每个你想在游戏里用到的按键。
把以下代码加入到 game.py 里#2后面:
keys = [False, False, False, False]
playerpos=[100,100]
keys = [False, False, False, False]playerpos=[100,100]
这段代码是不言自明的,key这个队列用来记录几个按键的情况:WASD。队列中的每一项对应一个按键——第一个对应W,第二个对应A等等。
playerpos这个变量表示程序画出玩家的位置。因为这个游戏会让玩家向不同的方向移动,用一个变量来表示玩家的位置并且能够依据这个变量将玩家画出来的方案是非常适合的。
现在你需要修改现在画出玩家的代码,需要用上playerpos变量。把#6部分的代码进行修改:
screen.blit(player, (100,100))
screen.blit(player, (100,100))
screen.blit(player, playerpos)
screen.blit(player, playerpos)
接下来,根据按下的键来更新按键记录数组。PyGame里用给按键添加事件的方法来检测按键。
在#8八月份的结尾,就在event.py == pygame.QUIT后面,添加一下的代码(与pygame.QUIT保持同级别缩进):
if event.type == pygame.KEYDOWN:
if event.key==K_w:
keys[0]=True
elif event.key==K_a:
keys[1]=True
elif event.key==K_s:
keys[2]=True
elif event.key==K_d:
keys[3]=True
if event.type == pygame.KEYUP:
if event.key==pygame.K_w:
keys[0]=False
elif event.key==pygame.K_a:
keys[1]=False
elif event.key==pygame.K_s:
keys[2]=False
elif event.key==pygame.K_d:
keys[3]=False
123456789101112131415161718
&&&&&&&&if event.type == pygame.KEYDOWN:&&&&&&&&&&&&if event.key==K_w:&&&&&&&&&&&&&&&&keys[0]=True&&&&&&&&&&&&elif event.key==K_a:&&&&&&&&&&&&&&&&keys[1]=True&&&&&&&&&&&&elif event.key==K_s:&&&&&&&&&&&&&&&&keys[2]=True&&&&&&&&&&&&elif event.key==K_d:&&&&&&&&&&&&&&&&keys[3]=True&&&&&&&&if event.type == pygame.KEYUP:&&&&&&&&&&&&if event.key==pygame.K_w:&&&&&&&&&&&&&&&&keys[0]=False&&&&&&&&&&&&elif event.key==pygame.K_a:&&&&&&&&&&&&&&&&keys[1]=False&&&&&&&&&&&&elif event.key==pygame.K_s:&&&&&&&&&&&&&&&&keys[2]=False&&&&&&&&&&&&elif event.key==pygame.K_d:&&&&&&&&&&&&&&&&keys[3]=False
Wow!又加了这么多代码。但是如果你仔细看看这些表达式,并没有那么复杂。
首先,你检查是否有一个键被按下或放开。然后,检查是哪一个键被按下或放开了,如果被按下或放开的键是你使用的,你就更新记录按键的变量。
最终,你需要更新playerpos变量作为按键后的反应。这实际上是非常简单的。
把一下的代码加到game.py的结尾:(让它与for 循环保持同级别缩进)
# 9 - Move player
if keys[0]:
playerpos[1]-=5
elif keys[2]:
playerpos[1]+=5
if keys[1]:
playerpos[0]-=5
elif keys[3]:
playerpos[0]+=5
&&&&# 9 - Move player&&&&if keys[0]:&&&&&&&&playerpos[1]-=5&&&&elif keys[2]:&&&&&&&&playerpos[1]+=5&&&&if keys[1]:&&&&&&&&playerpos[0]-=5&&&&elif keys[3]:&&&&&&&&playerpos[0]+=5
这段代码简单的检查了哪个键被按下,然后增加或减少玩家的x和y坐标。
运行这个游戏,那么你应该会看到一下的画面。试着按WASD,耶!好使了!
第四步:让兔子转向
好的,现在你的兔子在你按键的时候可以移动了,但是如果你能用鼠标让兔子朝向你选择的方向不是更酷吗?这样它就不会总是朝向一个方向了。用三角定理实现它会非常简单。
看一下下面的插图:
在上图中,如果(5,2)是兔子的位置,(2,4)是现在鼠标的位置,你可以通过三角定理来得出需要旋转的角度。然后,你知道了旋转的角度后,以就可以来旋转你的兔子了。
如果你对这部分感到有点疑惑,不要担心——这没有关系。但这是你为什么需要在数学课上集中精力的原因。在游戏编程中会用得到它的。
现在,你需要接受你的游戏里的概念。为了实现它,你可以使用PyGame Surface.rotate(degrees) 函数。
atatn2函数是来自Python 的math库。所以把一下代码加到#1部分:
import math
import math
然后,把#6部分的最后一行用一下代码替换:
# 6.1 - Set player position and rotation
position = pygame.mouse.get_pos()
angle = math.atan2(position[1]-(playerpos[1]+32),position[0]-(playerpos[0]+26))
playerrot = pygame.transform.rotate(player, 360-angle*57.29)
playerpos1 = (playerpos[0]-playerrot.get_rect().width/2, playerpos[1]-playerrot.get_rect().height/2)
screen.blit(playerrot, playerpos1)
&&&&# 6.1 - Set player position and rotation&&&&position = pygame.mouse.get_pos()&&&&angle = math.atan2(position[1]-(playerpos[1]+32),position[0]-(playerpos[0]+26))&&&&playerrot = pygame.transform.rotate(player, 360-angle*57.29)&&&&playerpos1 = (playerpos[0]-playerrot.get_rect().width/2, playerpos[1]-playerrot.get_rect().height/2)&&&&screen.blit(playerrot, playerpos1)
我们来浏览一下以上代码的基本结构。首先获取鼠标和玩家的位置。然后将它们使用atan2函数。然后,获取通过atan2函数得出的角度和弧度。
当兔子被旋转的时候,它的位置将会改变。所以你需要计算兔子新的位置,然后将其在屏幕上显示出来。
再次运行游戏,如果你只是按WASD这几个键,那么这个游戏跟以前还是一样的。但是如果你移动鼠标,兔子也开始旋转了,相当酷!
第五步:射吧!兔子
现在你的兔子可以四处移动了,是时候来添加更多的功能了。让兔子用箭头射向它们的敌人怎么样?
这一步会有一点复杂,因为你需要跟踪所有的箭头,更新它们,旋转它们,在它们跑出屏幕的时候删除它们。
首先,在#2声明的部分加上必要的变量的声明。
acc=[0,0]arrows=[]
第一个变量会跟踪玩家的精度,第二个变量会跟踪箭头。这个精度的变量本质上是一个数字组成的列表,记录了射出的箭头数和被击中的獾的数量。之后我们会用到这些信息用来计算射击精确度。
接下来,在#3部分结尾加载箭头的图片。
arrow = pygame.image.load("resources/images/bullet.png")
arrow = pygame.image.load("resources/images/bullet.png")
现在,当玩家点击鼠标,就需要射出一支箭头。在#8部分加上以下代码:
if event.type==pygame.MOUSEBUTTONDOWN:
position=pygame.mouse.get_pos()
arrows.append([math.atan2(position[1]-(playerpos1[1]+32),position[0]-(playerpos1[0]+26)),playerpos1[0]+32,playerpos1[1]+32])
&&&&&&&&if event.type==pygame.MOUSEBUTTONDOWN:&&&&&&&&&&&&position=pygame.mouse.get_pos()&&&&&&&&&&&&acc[1]+=1&&&&&&&&&&&&arrows.append([math.atan2(position[1]-(playerpos1[1]+32),position[0]-(playerpos1[0]+26)),playerpos1[0]+32,playerpos1[1]+32])
这段代码会检查是否鼠标被点击了,如果点击了,它就会得到鼠标的位置并且根据玩家和光标的位置计算出箭头旋转角度。旋转角度的值存放在arrows这个数组里。
接下来,你需要真的在屏幕上画出箭头来。在#6部分加上以下代码:
# 6.2 - Draw arrows
for bullet in arrows:
velx=math.cos(bullet[0])*10
vely=math.sin(bullet[0])*10
bullet[1]+=velx
bullet[2]+=vely
if bullet[1]&-64 or bullet[1]&640 or bullet[2]&-64 or bullet[2]&480:
arrows.pop(index)
for projectile in arrows:
arrow1 = pygame.transform.rotate(arrow, 360-projectile[0]*57.29)
screen.blit(arrow1, (projectile[1], projectile[2]))
12345678910111213
&&&&# 6.2 - Draw arrows&&&&for bullet in arrows:&&&&&&&&index=0&&&&&&&&velx=math.cos(bullet[0])*10&&&&&&&&vely=math.sin(bullet[0])*10&&&&&&&&bullet[1]+=velx&&&&&&&&bullet[2]+=vely&&&&&&&&if bullet[1]&-64 or bullet[1]&640 or bullet[2]&-64 or bullet[2]&480:&&&&&&&&&&&&arrows.pop(index)&&&&&&&&index+=1&&&&&&&&for projectile in arrows:&&&&&&&&&&&&arrow1 = pygame.transform.rotate(arrow, 360-projectile[0]*57.29)&&&&&&&&&&&&screen.blit(arrow1, (projectile[1], projectile[2]))
vely和velx的值是根据三角定理算出来的。10是箭头的速度。if表达式是检查箭头是否超出了屏幕范围,如果超出,就删除这个箭头。第二个for表达式是循环来把箭头根据相应的旋转画出来。
试着运行游戏。当你点击鼠标时,你的兔子就可以射出剪头了:D
第六部:獾,拿上武器!
好吧,现在有了城堡,并且你有一个英雄可以移动和射出箭头。还差什么呢?攻击城堡的敌人可以被英雄用箭头射了!
在这一步,你将会随机创建出一些獾冲向城堡。在游戏的进程中会有越来越多的獾冒出来。所以,我们来列个接下来要做的事情的清单。
添加一个坏蛋的列表
更新坏蛋的信息,并且检查它们是否超出屏幕范围
展示这些坏蛋
第一步,在#2部分加上一下代码:
badtimer=100
badtimer1=0
badguys=[[640,100]]
healthvalue=194
badtimer=100badtimer1=0badguys=[[640,100]]healthvalue=194
以上的代码里定义了一个定时器,使得游戏里可以经过一段时间后就新建一只獾。
在#3部分结尾处添加以下代码:
badguyimg1 = pygame.image.load("resources/images/badguy.png")
badguyimg=badguyimg1
badguyimg1 = pygame.image.load("resources/images/badguy.png")badguyimg=badguyimg1
第一行跟前面加载图片的代码很相似。第二行声明了一个图片的复制。
接下来,你需要更新并且显示这些坏蛋了。在#6.2部分加上以下代码:
# 6.3 - Draw badgers
if badtimer==0:
badguys.append([640, random.randint(50,430)])
badtimer=100-(badtimer1*2)
if badtimer1&=35:
badtimer1=35
badtimer1+=5
for badguy in badguys:
if badguy[0]&-64:
badguys.pop(index)
badguy[0]-=7
for badguy in badguys:
screen.blit(badguyimg, badguy)
12345678910111213141516
&&&&# 6.3 - Draw badgers&&&&if badtimer==0:&&&&&&&&badguys.append([640, random.randint(50,430)])&&&&&&&&badtimer=100-(badtimer1*2)&&&&&&&&if badtimer1&=35:&&&&&&&&&&&&badtimer1=35&&&&&&&&else:&&&&&&&&&&&&badtimer1+=5&&&&index=0&&&&for badguy in badguys:&&&&&&&&if badguy[0]&-64:&&&&&&&&&&&&badguys.pop(index)&&&&&&&&badguy[0]-=7&&&&&&&&index+=1&&&&for badguy in badguys:&&&&&&&&screen.blit(badguyimg, badguy)
上面的代码看起来有不少。第一行是来检查badtime是否为0,如果为0,创建一个獾然后重新设置badtime。第一个循环更新獾的x坐标,检查獾是否超出屏幕范围,如果超出范围,将獾删掉。第二个循环是来画出所有的獾。
为了在以上代码里用到随机的功能,你需要导入random库。所以在#1部分加上导入的代码:
import random
import random
最后,把一行代码添加到#4部分的while表达式后面:
badtimer-=1
badtimer-=1
试着运行这段代码。现在它应该像个真正的游戏了——你可以移动、射箭、转向,然后有獾冲向你。
但是先慢着!为什么獾没有炸掉城堡?我们快速的把这功能加进来。
把以下代码加到#6.3部分index+=1之前的第一个循环里:
# 6.3.1 - Attack castle
badrect=pygame.Rect(badguyimg.get_rect())
badrect.top=badguy[1]
badrect.left=badguy[0]
if badrect.left&64:
healthvalue -= random.randint(5,20)
badguys.pop(index)
# 6.3.3 - Next bad guy
&&&&&&&&# 6.3.1 - Attack castle&&&&&&&&badrect=pygame.Rect(badguyimg.get_rect())&&&&&&&&badrect.top=badguy[1]&&&&&&&&badrect.left=badguy[0]&&&&&&&&if badrect.left&64:&&&&&&&&&&&&healthvalue -= random.randint(5,20)&&&&&&&&&&&&badguys.pop(index)&&&&&&&&# 6.3.3 - Next bad guy
这段代码相当简单。如果獾的x坐标离右边小于64,就删除坏蛋并且减少游戏里的健康值,减少的大小为5至20里的一个随机数。
再次运行这个游戏,你就会有一些獾冲过来并且在碰到城堡的时候会消失。尽管你看不到,獾实际上会降低你的健康值。
第七部:獾与箭头的碰撞
獾们冲向你的城堡,但是你的箭头对它们完全没有作用!这让兔子怎么放手它的家园呢?
是时候来让箭头能够杀死獾让你能保护你的城堡并且赢得这场游戏。基本上,你需要循环所有的坏蛋,你需要循环所有的箭头来检查是否有碰撞。如果碰撞上,删除獾,删除箭头,并且添加精确度的变量里面加1。
在#6.3.1部分后面加这些:
#6.3.2 - Check for collisions
for bullet in arrows:
bullrect=pygame.Rect(arrow.get_rect())
bullrect.left=bullet[1]
bullrect.top=bullet[2]
if badrect.colliderect(bullrect):
badguys.pop(index)
arrows.pop(index1)
1234567891011
&&&&&&&&#6.3.2 - Check for collisions&&&&&&&&index1=0&&&&&&&&for bullet in arrows:&&&&&&&&&&&&bullrect=pygame.Rect(arrow.get_rect())&&&&&&&&&&&&bullrect.left=bullet[1]&&&&&&&&&&&&bullrect.top=bullet[2]&&&&&&&&&&&&if badrect.colliderect(bullrect):&&&&&&&&&&&&&&&&acc[0]+=1&&&&&&&&&&&&&&&&badguys.pop(index)&&&&&&&&&&&&&&&&arrows.pop(index1)&&&&&&&&&&&&index1+=1
这段代码里面只有一个地方需要提一下,这个if表达式使用了PyGame内建功能来检查两个矩形是否交叉。接下来的一些代码跟上面说的一样。
再运行下代码,现在你就可以用箭头来杀死獾了。
第八步:添加健康值和时间的显示
现在游戏运行起来相当不错了。现在有攻击者,有防守者。现在,你需要的就是通过一个方法来显示兔子的得分。
最简单的方法就是添加一个HUD来显示当前城堡的生命值。你也可以加一个计时来记录城堡存活下来的时间。
首先,添加一个计时。在#7部分加上下面的代码:
# 6.4 - Draw clock
font = pygame.font.Font(None, 24)
survivedtext = font.render(str((90000-pygame.time.get_ticks())/60000)+":"+str((90000-pygame.time.get_ticks())/1000%60).zfill(2), True, (0,0,0))
textRect = survivedtext.get_rect()
textRect.topright=[635,5]
screen.blit(survivedtext, textRect)
&&&&# 6.4 - Draw clock&&&&font = pygame.font.Font(None, 24)&&&&survivedtext = font.render(str((90000-pygame.time.get_ticks())/60000)+":"+str((90000-pygame.time.get_ticks())/1000%60).zfill(2), True, (0,0,0))&&&&textRect = survivedtext.get_rect()&&&&textRect.topright=[635,5]&&&&screen.blit(survivedtext, textRect)
上面的代码使用了PyGame默认的大小为24的字体。这个字体用来显示时间信息。
healthbar = pygame.image.load("resources/images/healthbar.png")
health = pygame.image.load("resources/images/health.png")
healthbar = pygame.image.load("resources/images/healthbar.png")health = pygame.image.load("resources/images/health.png")
接下来添加代码到#6.4部分后面:
# 6.5 - Draw health bar
screen.blit(healthbar, (5,5))
for health1 in range(healthvalue):
screen.blit(health, (health1+8,8))
&&&&# 6.5 - Draw health bar&&&&screen.blit(healthbar, (5,5))&&&&for health1 in range(healthvalue):&&&&&&&&screen.blit(health, (health1+8,8))
这段代码首先画了一个全红色的生命值条。然后根据城堡的生命值往生命条里面添加绿色。
运行下代码,现在就会有计时和生命值条了。
第九步:赢或输
现在怎么样?如果你玩的时间够长,即使你的生命值已经变成0了,游戏仍然是继续的!不仅如此,你仍然可以用箭头射向这些獾。这肯定不太对。你需要加上一些赢或者输的情况来让你的游戏值得玩。
那么我们来加上胜利或者失败的条件。你可以通过终止主循环,进入胜利/失败的循环来实现它。你需要指出玩家是否胜利,并将其显示在屏幕上。
下面是一些胜利/失败的一些基本条件:
如果时间到了(90秒)那么:
停止运行游戏
l设置游戏的输出
如果城堡被毁,那么:
停止运行游戏
l设置游戏的输出
精确度是一直都需要计算的。
在game.py 结尾添加这些代码:
#10 - Win/Lose check
if pygame.time.get_ticks()&=90000:
exitcode=1
if healthvalue&=0:
exitcode=0
if acc[1]!=0:
accuracy=acc[0]*1.0/acc[1]*100
accuracy=0
# 11 - Win/lose display
if exitcode==0:
pygame.font.init()
font = pygame.font.Font(None, 24)
text = font.render("Accuracy: "+str(accuracy)+"%", True, (255,0,0))
textRect = text.get_rect()
textRect.centerx = screen.get_rect().centerx
textRect.centery = screen.get_rect().centery+24
screen.blit(gameover, (0,0))
screen.blit(text, textRect)
pygame.font.init()
font = pygame.font.Font(None, 24)
text = font.render("Accuracy: "+str(accuracy)+"%", True, (0,255,0))
textRect = text.get_rect()
textRect.centerx = screen.get_rect().centerx
textRect.centery = screen.get_rect().centery+24
screen.blit(youwin, (0,0))
screen.blit(text, textRect)
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
pygame.display.flip()
123456789101112131415161718192021222324252627282930313233343536
&&&&#10 - Win/Lose check&&&&if pygame.time.get_ticks()&=90000:&&&&&&&&running=0&&&&&&&&exitcode=1&&&&if healthvalue&=0:&&&&&&&&running=0&&&&&&&&exitcode=0&&&&if acc[1]!=0:&&&&&&&&accuracy=acc[0]*1.0/acc[1]*100&&&&else:&&&&&&&&accuracy=0# 11 - Win/lose display&&&&&&&&if exitcode==0:&&&&pygame.font.init()&&&&font = pygame.font.Font(None, 24)&&&&text = font.render("Accuracy: "+str(accuracy)+"%", True, (255,0,0))&&&&textRect = text.get_rect()&&&&textRect.centerx = screen.get_rect().centerx&&&&textRect.centery = screen.get_rect().centery+24&&&&screen.blit(gameover, (0,0))&&&&screen.blit(text, textRect)else:&&&&pygame.font.init()&&&&font = pygame.font.Font(None, 24)&&&&text = font.render("Accuracy: "+str(accuracy)+"%", True, (0,255,0))&&&&textRect = text.get_rect()&&&&textRect.centerx = screen.get_rect().centerx&&&&textRect.centery = screen.get_rect().centery+24&&&&screen.blit(youwin, (0,0))&&&&screen.blit(text, textRect)while 1:&&&&for event in pygame.event.get():&&&&&&&&if event.type == pygame.QUIT:&&&&&&&&&&&&pygame.quit()&&&&&&&&&&&&exit(0)&&&&pygame.display.flip()
这是最长的一段代码!不过它并不复杂。
第一个ifb表达式是检查是否时间到了。第二个是检查城堡是否被摧毁了。第三个计算你的精准度。之后,一个if表达式是检查你是赢了还是输了,然后显示出相应的图片。
当然,如果你想在赢或输的时候显示图片,这些图片首先需要加载。所以在#3部分加上这些代码:
gameover = pygame.image.load("resources/images/gameover.png")
youwin = pygame.image.load("resources/images/youwin.png")
gameover = pygame.image.load("resources/images/gameover.png")youwin = pygame.image.load("resources/images/youwin.png")
还有需要改的地方,把#4部分从:
# 4 - keep looping through
badtimer-=1
# 4 - keep looping throughwhile 1:&&&&badtimer-=1
# 4 - keep looping through
running = 1
exitcode = 0
while running:
badtimer-=1
# 4 - keep looping throughrunning = 1exitcode = 0while running:&&&&badtimer-=1
这个running变量会跟踪游戏是否结束,exitcode变量会跟踪玩家是否胜利。
再次运行游戏,你就发现你可以胜利或者失败了!酷
第十步:免费的音乐和声音效果
这个游戏现在相当不错了,但是没有声音。有点太安静了。加上一点声音效果,能让你更好地感受这个游戏。
PyGame能够让加载和播放声音非常简单。首先,你在#2部分结尾加上这些代码:
pygame.mixer.init()
pygame.mixer.init()
然后在#3部分加载声音然后设置声音:
# 3.1 - Load audio
hit = pygame.mixer.Sound("resources/audio/explode.wav")
enemy = pygame.mixer.Sound("resources/audio/enemy.wav")
shoot = pygame.mixer.Sound("resources/audio/shoot.wav")
hit.set_volume(0.05)
enemy.set_volume(0.05)
shoot.set_volume(0.05)
pygame.mixer.music.load('resources/audio/moonlight.wav')
pygame.mixer.music.play(-1, 0.0)
pygame.mixer.music.set_volume(0.25)
12345678910
# 3.1 - Load audiohit = pygame.mixer.Sound("resources/audio/explode.wav")enemy = pygame.mixer.Sound("resources/audio/enemy.wav")shoot = pygame.mixer.Sound("resources/audio/shoot.wav")hit.set_volume(0.05)enemy.set_volume(0.05)shoot.set_volume(0.05)pygame.mixer.music.load('resources/audio/moonlight.wav')pygame.mixer.music.play(-1, 0.0)pygame.mixer.music.set_volume(0.25)
上面大部分代码就是加载声音文件并且配置音量。但是注意 pygame.mixer.music.load这行代码——这一行加载游戏的背景音乐然后下一行让背景音乐一直不停的播放。
现在注意声音的配置。现在你所有需要做的就是在需要的时候播放不同的音乐。
# section 6.3.1 after if badrect.left&64:
hit.play()
# section 6.3.2 after if badrect.colliderect(bullrect):
enemy.play()
# section 8, after if event.type==pygame.MOUSEBUTTONDOWN:
shoot.play()
# section 6.3.1 after if badrect.left&64:hit.play()# section 6.3.2 after if badrect.colliderect(bullrect):enemy.play()# section 8, after if event.type==pygame.MOUSEBUTTONDOWN:shoot.play()
再次运行游戏,你会发现现在有背景音乐了,并且在射出箭头和碰撞的时候会有音效。这游戏就更加逼真啦!
那接下来呢?
你应该为自己感到自豪:你刚刚完成了一个游戏;里面包含了音乐,音效,一个杀手兔子,自杀冲锋的獾等等。我跟你说了这确实是可以完成的!
你可以从最终的游戏代码。
在这基础上,你可以根据你自己的创意来扩展游戏!你可以试着重置里面的各种图片,加上不同的枪或者是不同的怪物!
如果你对这篇教程有什么问题和建议。请留言。
关于作者:
可能感兴趣的话题
牛逼的孩子啊
关于 Python 频道
Python频道分享 Python 开发技术、相关的行业动态。
新浪微博:
推荐微信号
(加好友请注明来意)
– 好的话题、有启发的回复、值得信赖的圈子
– 分享和发现有价值的内容与观点
– 为IT单身男女服务的征婚传播平台
– 优秀的工具资源导航
– 翻译传播优秀的外文文章
– 国内外的精选文章
– UI,网页,交互和用户体验
– 专注iOS技术分享
– 专注Android技术分享
– JavaScript, HTML5, CSS
– 专注Java技术分享
– 专注Python技术分享
& 2018 伯乐在线

我要回帖

更多关于 小孩子会画的简单婚纱 的文章

 

随机推荐