微信飞机(如何自己制作微信打飞机游戏PC版)
大家好,综合小编来为大家讲解下微信飞机,如何自己制作微信打飞机游戏PC版这个很多人还不知道,现在让我们一起来看看吧!
第一步是显示背景。
我们先来展示一下飞机大战游戏的背景。
1#-*-编码:utf-8-*-23从pygame.locals导入pygame4从sys导入*5导入exit67SCREEN_WIDTH=4808SCREEN_HEIGHT=800910#初始化游戏11pygame.init()12SCREEN=pygame.display.set_mode((SCREEN_WIDTH,Screen_height))13pygame。展示。set_caption('飞机大战')1415#加载背景图16background=pygame.image.Load('resources/image/background.png')。1718whileTrue:19#绘制背景20screen.fill(0)21screen.blit(background,(0,0))2223#更新屏幕24pygame.display.update()2526#处理pygame.event.get()中事件的游戏出口27:28if事件。type==pygame.quit:29pygame.quit()30exit()我们来分析一下这段代码:
导入Pygame库和所需库;
根据设定的尺寸初始化游戏并生成游戏窗口;
加载背景图片;
进入游戏主循环。在主循环中,我们做了以下工作:
清空屏幕
绘制背景
更新屏幕
处理游戏退出事件
运行后,效果如下:
第二步,展示飞机。
我们打开资源/图片/发现所有的飞机都在shoot.png的图片里。我们在背景中显示的元素(包括飞机、子弹等。)都是Pygame里的一个面。这时候我们可以使用pygame提供的subface方法,先加载一个大图,然后调用subface方法选择其中的一小部分,生成一个新的面。而这个小图在大图中的位置是在image文件夹的shoot.pack文件中。
我们需要做的是将上述代码加载到背景图像后,加载平面图片,然后生成平面的surbsurface,初始化平面的起始位置:
1#加载飞机图片2plane_img=pygame.image.Load('resources/image/shoot.png')34#选择飞机在大图中的位置,生成子集,然后初始化飞机的起始位置5player_rect=pygame。Rect(0,99,102,126)6player=plane_img.subsurface(player_rect)7player_pos=[200,600]然后在主循环中画完背景后插入画平面的代码:
1#画飞机2screen.blit(player,player_pos)运行后将能看到玩家操作的战斗机:
第三步,让飞机动起来。
让飞机移动意味着让游戏在主循环中响应键盘事件。在上面的代码中,我们知道screen.blit(player,player_pos)绘制平面,这个player_pos就是在每个循环中绘制的平面的位置。在响应键盘事件时,我们只能通过改变这个位置来移动平面。将响应键盘事件的代码添加到主循环中:
1#监视器键盘事件2key_pressed=pygame.key.get_pressed()3ifkey_pressed[k_up]:4player_pos[1]-=35ifkey_pressed[k_down]:6player_pos[1]。=37ifkey_pressed[k_left]:8player_pos[0]-=39ifkey_pressed[k_right]:10player_pos[0]=3每按一次方向键,我们只需要改变一个飞机位置的坐标,就可以让飞机动起来~
这样我们就知道了制作一个2D游戏的基本原理:游戏进入主循环后,每个循环在响应的位置画一幅图,改变位置或图片就可以出现动画效果;然后通过判断两幅图片的矩形区域是否相交来检测碰撞。简单吧?
接下来的步骤包括显示子弹,随机生成敌机,检测碰撞,判断游戏结束,得分等等。我要介绍的这些,大家应该都能自己完成下一个任务了吧?
当然,玩家、子弹、敌机都可以写成一个类,继承pygame的鬼怪;雪碧类,实现一些动画效果,以及检测碰撞,这样使用起来更简单。给大家看一下我写的类代码:
1#子弹类2类子弹(py游戏。雪碧。sprite):3def__init__(self,bullet_img,init_pos):4py游戏。雪碧。雪碧。__init__(self)5self。image=Bullet_img6self。rect=self。形象。get_rect()7self。直肠。midbottom=init_pos8自我。速度=10910def移动(自身):11自身。直肠。top-=自我。速度1213#玩家类14类玩家(py游戏。雪碧。sprite):15def__init__(self,plane_img,player_rect,init_pos):16py游戏。雪碧。雪碧。__init__(self)17self。image=[]#用来存储玩家对象精灵图片的列表18为Iinrange(len(player_rect)):19self。形象。追加(plane_img。subsurface(player_rect[I]).convert_alpha())20self。rect=player_rect[0]#初始化图片所在的矩形21self.rect.topleft=init_pos#初始化矩形的左上角坐标22self.speed=8#初始化玩家速度,这里是一个确定的值23自我。子弹=py游戏。雪碧。group()#玩家飞机所发射的子弹的集合24self.img_index=0#玩家精灵图片索引25self.is_hit=False#玩家是否被击中2627defshoot(self,Bullet_img):28Bullet=Bullet(Bullet_img,self。直肠。midtop)29自我。子弹。加(bullet)3031def上移(self):32ifself。直肠。top=0:33自我。直肠。top=034else:35self。直肠。top-=自我。速度3637def下移(自身):38如果自身。直肠。top=屏幕_高度-自身。直肠。top=屏幕_高度-自身。直肠。身高40别人:41自己敌人类56级敌人(py游戏。雪碧。sprite):57def__init__(self,enemy_img,enemy_down_imgs,init_pos):58pygame。雪碧。雪碧。__init__(self)59self。image=敌人_img60自己。rect=self。形象。get_rect()61self。直肠。左上=init_pos62self。down_imgs=enemy_down_imgs63self。速度=264自我。down_index=06566defmove(自身):67自身。直肠。top=自我。速度目前我基本实现了玩家移动并发射子弹、随机生成小飞机、击中小飞机并爆炸、玩家被击毁、背景音乐及音效、游戏结束并显示分数这几项功能,已经是一个简单可玩的游戏,我把代码分享到了开源代码库上。感兴趣的同学可以去下载下来继续完成生成中飞机、大飞机,改变飞机速度,双排子弹和炸弹等功能GitHub.链接:PythonShootGame。
本文到此分享完毕,希望对大家有所帮助。
免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!
-
关于安徽蚌埠地区大众CC的落地价格以及各车型的售价信息,以下是一些参考数据。请注意,这些价格可能会因市场...浏览全文>>
-
关于2023款安庆途铠的落地价格,具体金额会因地区、配置以及促销活动等因素有所不同。以下是一些参考信息供您...浏览全文>>
-
根据您的描述,生活家PHEV 2025款的价格确实有较大幅度的优惠,达到了历史最低点,这无疑提升了其性价比。不...浏览全文>>
-
途昂X是上汽大众推出的一款中大型SUV,以其豪华的内饰、宽敞的空间和强劲的动力受到广泛关注。如果你计划在安...浏览全文>>
-
截至2023年,天津滨海宝来是一款由一汽大众生产的紧凑型轿车。以下是一些常见的配置和大致的价格范围(具体价...浏览全文>>
-
在安徽安庆购买大众揽巡时,需要综合考虑车辆的价格、配置、优惠政策以及市场行情等因素,以确保购车过程顺利...浏览全文>>
-
途观X是大众汽车推出的一款跨界SUV,以其时尚的外观和较高的配置受到不少消费者的青睐。如果您在亳州地区考虑...浏览全文>>
-
关于天津滨海地区的宝来车型价格信息,以下是一些参考数据。请注意,这些价格可能会因市场波动、促销活动以及...浏览全文>>
-
安徽安庆的揽巡价格分析可以帮助您更好地了解这款车型的市场行情和购车优惠。以下是对揽巡价格的全方面分析:1...浏览全文>>
-
关于购买途观X的具体价格,以及如何选择适合自己的车型,以下是一份详细的选车秘籍全攻略。这份指南将帮助你了...浏览全文>>
- 生活家PHEV最新价格2025款,价格再创新低,性价比爆棚
- 安徽亳州途昂X多少钱?购车攻略与优惠全在这
- 天津滨海宝来价格,各配置车型售价全知晓
- 安徽安庆揽巡价格全分析,买车不踩坑
- 东莞ID.4 CROZZ新款价格2025款多少钱?选车秘籍与性价比大公开
- 28.5亿美元卖身腾讯音乐,是喜马拉雅最好的归宿
- 蚌埠途铠 2023新款价格大起底,买车超详细
- 天津滨海ID.6 CROZZ多少钱?不同配置性价比分析
- 安徽阜阳探影多少钱?经销商报价及市场优惠情况
- 安徽滁州途昂X多少钱 2025款落地价大揭秘,买车前必看
- 天津滨海探岳X多少钱 2024款落地价,买车前的全方位指南
- 天津滨海ID.6 X新款价格2023款多少钱?购车攻略助你轻松选车
- 济南途安L最新价格2022款,优惠购车,最低售价16.68万起
- 安徽滁州长安猎手K50新车报价2025款,最低售价18.29万起,现车充足
- 广汽传祺传祺向往M8试驾的流程是什么
- 江淮悍途EV预约试驾,畅享豪华驾乘,体验卓越性能
- 安徽池州ID.7 VIZZION多少钱?买车技巧与性价比全奉上
- 济南长安启源E07 2024新款价格,最低售价19.99万起现在该入手吗?
- 安徽安庆ID.4 CROZZ 2025新款价格,优惠购车,最低售价13.99万起
- 天津滨海大众CC落地价全解买车必看