美文网首页python入门
048_wz_hm_项目实战——飞机大战之游戏循环

048_wz_hm_项目实战——飞机大战之游戏循环

作者: 王泽0106 | 来源:发表于2020-08-21 20:56 被阅读0次

    理解游戏循环和游戏时钟

    现在英雄飞机已经被绘制到屏幕上了,怎样能让飞机移动呢?

    游戏中的动画实现原理

    跟电影的原理类似,游戏中的动画效果,本质上是快速的在屏幕上绘制图形,一般在电脑上每秒绘制60次就能达到非常连续高品质的动画效果

    游戏循环

    游戏循环的开始就意味着游戏的正式开始

    游戏循环 游戏循环的作用:
    1. 保证游戏不会直接退出
    2. 变化图像位置——动画效果
    • 每隔1/60移动一下所有图像的位置
    • 调用pygame.display.update()更新屏幕显示
    1. 检测用户交互——按键、鼠标等

    游戏时钟

    • pygame专门提供了一个类pygame.time.Clock可以非常方便的设置屏幕绘制速度——刷新频率
    • 要使用时钟对象需要两步:
      1) 在游戏初始化创建一个时钟对象
      2) 在游戏循环中让时钟对象调用tick(帧率)方法
    • tick方法会根据上次被调用的时间,自动设置游戏循环中的延时 游戏循环与游戏时钟

    英雄飞机的简单动画实现

    需求:

    1. 在游戏初始化定义一个pygame.Rect的变量记录英雄飞机的初始位置
    2. 在游戏循环中每次让英雄飞机的y-1——向上移动
    3. y <= 0将英雄飞机移动到屏幕的底部

    提示:每一次调用update()方法之前,需要把所有的游戏图像都重新绘制一遍,而且应该最先绘制背景图像
    思考:如何让英雄飞机完全从上方飞出屏幕后,再将飞机移动到屏幕的底部?

    英雄飞机的移动1 英雄飞机的移动2 2020.8.21

    相关文章

      网友评论

        本文标题:048_wz_hm_项目实战——飞机大战之游戏循环

        本文链接:https://www.haomeiwen.com/subject/gcnejktx.html