• <li id="oiayd"><ruby id="oiayd"></ruby></li>

    <acronym id="oiayd"><strong id="oiayd"></strong></acronym>

    <acronym id="oiayd"></acronym>
    <track id="oiayd"><ruby id="oiayd"></ruby></track>
  • <track id="oiayd"><ruby id="oiayd"><menu id="oiayd"></menu></ruby></track>

  • 400-650-7353
    您所在的位置:首页 > IT干货资料 > python > 【Python基础知识】飞机大战——飞机大战游戏框架

    【Python基础知识】飞机大战——飞机大战游戏框架

    • 来源:优就业
    • 2021-09-28 09:57:45
    • 阅读()
    • 分享
    • 手机端入口

    1、游戏窗口

    经过安装Pygame,以及了解Pygame的核心功能之后,可以开始编写一个小的游戏案例了。下面将制作一个飞机大战游戏,游戏内容是敌对的两架飞机互相射击。

    游戏开始前需要调用初始化函数,代码如下:

    1. pygame.init() 

    否则,在本案例中输出汉字时,会提示错误,字体没有初始化。

    创建一个游戏窗口,加载背景,设置窗口标题和图标等,代码如下:

    1. # 创建一个游戏窗口 
    2. surface = pygame.display.set_mode((480652)) 
    3. # 加载背景图片 
    4. background = pygame.image.load('./img/background.png'
    5. # 调整连续按键事件生成时间 
    6. pygame.key.set_repeat(5050
    7. # 设置窗口标题 
    8. pygame.display.set_caption('飞机大战'
    9. # 设置窗口图标 
    10. pygame.display.set_icon(pygame.image.load('./img/icon72x72.png')) 

    2、游戏循环

    飞机大战中设计了游戏循环,还设计了玩家飞机、敌机、玩家子弹和敌人子弹四个类,以及碰撞和控制两个功能函数。另外,还有游戏启动界面和结束界面等函数。

    整个游戏的游戏循环如下:

    ①绘制背景图片。

    ②控制玩家飞机,主要响应玩家的操作。例如,玩家点击关闭按钮,则退出游戏;玩家按下左箭头键,则飞机向左移动;玩家按下右箭头键,则飞机向右移动;玩家按下空格键,则飞机发射子弹。

    ③绘制玩家飞机,包括正常状态和被击毁状态;绘制玩家飞机发射的子弹。

    ④绘制敌机,包括正常状态和被击毁状态;绘制敌机发射的子弹。

    ⑤控制敌机的移动。

    ⑥检测玩家飞机与敌机发射子弹的碰撞情况。

    ⑦检测敌机和玩家飞机发射子弹的碰撞情况。

    ⑧更新游戏窗口。

    游戏循环的具体实现代码如下:

    1. while True
    2.     surface.blit(background, (00))   # 绘制背景图片 
    3.     kongzhi(hero)   # 控制玩家飞机 
    4.     hero.hero_display()   # 绘制玩家飞机 
    5.     enemyplan.display()   # 绘制敌机 
    6.     enemyplan.move()   # 控制敌机的移动 
    7.     impact(hero, enemyplan.biu_list)   # 检测玩家飞机与敌机发射子弹的碰撞情况 
    8.     impact(enemyplan, hero.biu_list)   # 检测敌机和玩家飞机发射子弹的碰撞情况 
    9.     pygame.display.update()   # 更新游戏窗口 

     

    文章“【Python基础知识】飞机大战——飞机大战游戏框架”已帮助

    更多内容

    >>本文地址:http://www.seyoho.com/zhuanye/2021/70181.html

    THE END  

    声明:本站稿件版权均属中公教育优就业所有,未经许可不得擅自转载。

    1 您的年龄

    2 您的学历

    3 您更想做哪个方向的工作?

    获取测试结果
    • 大前端大前端
    • 大数据大数据
    • 互联网营销互联网营销
    • JavaJava
    • Linux云计算Linux
    • Python+人工智能Python
    • 嵌入式物联网嵌入式
    • 全域电商运营全域电商运营
    • 软件测试软件测试
    • 室内设计室内设计
    • 平面设计平面设计
    • 电商设计电商设计
    • 网页设计网页设计
    • 全链路UI/UE设计UI设计
    • VR/AR游戏开发VR/AR
    • 网络安全网络安全
    • 新媒体与短视频运营新媒体
    • 直播带货直播带货
    • 智能机器人软件开发智能机器人
     

    快速通道fast track

    近期开班时间TIME

    日韩一级a片无卡顿

  • <li id="oiayd"><ruby id="oiayd"></ruby></li>

    <acronym id="oiayd"><strong id="oiayd"></strong></acronym>

    <acronym id="oiayd"></acronym>
    <track id="oiayd"><ruby id="oiayd"></ruby></track>
  • <track id="oiayd"><ruby id="oiayd"><menu id="oiayd"></menu></ruby></track>