欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python pygame 動(dòng)畫游戲循環(huán)游戲時(shí)鐘實(shí)現(xiàn)原理

 更新時(shí)間:2022年08月15日 10:37:41   作者:ZacheryZHANG  
這篇文章主要為大家介紹了Python pygame 動(dòng)畫游戲循環(huán)游戲時(shí)鐘實(shí)現(xiàn)原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

1. 游戲循環(huán)和游戲時(shí)鐘

之前幾篇文章中,飛機(jī)大戰(zhàn)游戲中的英雄飛機(jī)已經(jīng)被繪制到屏幕上了,怎么能夠讓飛機(jī)移動(dòng)呢?

1.1 游戲中的動(dòng)畫實(shí)現(xiàn)原理

電影的原理類似,游戲中的動(dòng)畫效果,本質(zhì)上是快速的在屏幕上繪制圖像

電影是將多張靜止的電影膠片連接、快速的播放,產(chǎn)生連貫的視覺效果!

一般在電影上每秒繪制60次,就能夠達(dá)到非常連續(xù)高品質(zhì)的動(dòng)畫效果(相當(dāng)于要每秒鐘調(diào)用60次update效果)

每次繪制的結(jié)果被稱為幀F(xiàn)rame(靜止畫面)

2. 游戲循環(huán)

游戲的兩個(gè)組成部分:

  • 游戲的初始化:創(chuàng)建游戲窗口,繪制圖像初始位置,設(shè)置游戲時(shí)鐘
  • 游戲循環(huán):設(shè)置刷新幀率,檢測(cè)用戶交互,更新所有圖像位置,更新屏幕顯示

游戲循環(huán)的開始就意味著游戲的正式開始

游戲循環(huán)的作用:

  • 保證游戲不會(huì)直接退出
  • 變化圖像位置--動(dòng)畫效果
    • 每隔1/60秒移動(dòng)一下所有圖像位置
    • 調(diào)用pygame.display.update()更新屏幕顯示
  • 檢測(cè)用戶交互--按鍵、鼠標(biāo)等

3. 游戲時(shí)鐘

pygame專門提供了一個(gè)類pygame.time.Clock可以非常方便的設(shè)置屏幕繪制速度--刷新幀率

要使用時(shí)鐘對(duì)象需要兩步驟:

在游戲初始化創(chuàng)建一個(gè)時(shí)鐘對(duì)象

在游戲循環(huán)中讓時(shí)鐘對(duì)象調(diào)用tick(幀率)方法

tick方法會(huì)根據(jù)上次被調(diào)用的時(shí)間,自動(dòng)設(shè)置游戲循環(huán)中的延時(shí)

案例演示:本案例將在游戲循環(huán)外部創(chuàng)建時(shí)鐘對(duì)象,在游戲循環(huán)內(nèi)部創(chuàng)建tick方法,就可以來指定循環(huán)內(nèi)部的代碼執(zhí)行的頻率。

具體代碼演示如下所示:游戲循環(huán)內(nèi)部的代碼,每秒重復(fù)循環(huán)60次就可以,就在游戲初始化的時(shí)候,創(chuàng)建游戲時(shí)鐘對(duì)象。

然后,在游戲循環(huán)中,通過時(shí)鐘對(duì)象調(diào)用tick的方法,就可以輕松的指定,游戲循環(huán)內(nèi)部的代碼每秒鐘執(zhí)行的次數(shù)。

import pygame
pygame.init()
# 創(chuàng)建游戲的窗口 640*642
screen = pygame.display.set_mode((640, 642))
# 繪制背景圖像
bg = pygame.image.load("./飛機(jī)大戰(zhàn)資料包/images/background1.jpg")
screen.blit(bg, (0, 0))
# 繪制英雄的飛機(jī)
hero = pygame.image.load("./飛機(jī)大戰(zhàn)資料包/images/me1.png")
screen.blit(hero, (300, 500))
# 可以在所有繪制工作完成之后,統(tǒng)一調(diào)用update方法
pygame.display.update()
# 創(chuàng)建時(shí)鐘對(duì)象
clock = pygame.time.Clock()
# 游戲循環(huán)->意味著游戲的正式開始
i = 0
while True:
    # 希望無限循環(huán)內(nèi)部的代碼每秒鐘重復(fù)循環(huán)60次
    # 可以指定循環(huán)體內(nèi)部的代碼執(zhí)行的頻率
    clock.tick(60)
    print(i)
    i = i + 1
    pass
pygame.quit()

以上就是Python pygame 動(dòng)畫游戲循環(huán)游戲時(shí)鐘實(shí)現(xiàn)原理的詳細(xì)內(nèi)容,更多關(guān)于Python pygame 動(dòng)畫的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Pandas.DataFrame時(shí)間序列數(shù)據(jù)處理的實(shí)現(xiàn)

    Pandas.DataFrame時(shí)間序列數(shù)據(jù)處理的實(shí)現(xiàn)

    本文主要介紹了Pandas.DataFrame時(shí)間序列數(shù)據(jù)處理的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Python深度學(xué)習(xí)之Pytorch初步使用

    Python深度學(xué)習(xí)之Pytorch初步使用

    今天給大家整理了Python深度學(xué)習(xí)之Pytorch初步使用的有關(guān)知識(shí),文中介紹的非常詳細(xì),對(duì)正在學(xué)習(xí)python的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-05-05
  • Python hmac模塊使用實(shí)例解析

    Python hmac模塊使用實(shí)例解析

    這篇文章主要介紹了Python hmac模塊使用實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • pycharm new project變成灰色的解決方法

    pycharm new project變成灰色的解決方法

    今天小編就為大家分享一篇pycharm new project變成灰色的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • tensorflow實(shí)現(xiàn)對(duì)張量數(shù)據(jù)的切片操作方式

    tensorflow實(shí)現(xiàn)對(duì)張量數(shù)據(jù)的切片操作方式

    今天小編就為大家分享一篇tensorflow實(shí)現(xiàn)對(duì)張量數(shù)據(jù)的切片操作方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python 調(diào)用 zabbix api的方法示例

    Python 調(diào)用 zabbix api的方法示例

    這篇文章主要介紹了Python 調(diào)用 zabbix api的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-01-01
  • python使用技巧-文件讀寫

    python使用技巧-文件讀寫

    這篇文章主要介紹了python使用技巧-文件讀寫,Python提供了非常方便的文件讀寫功能,其中open是讀寫文件的第一步,通過open讀寫文件的方式和把大象裝冰箱是一樣的,下面我們就來具體介紹該內(nèi)容,需要的小伙伴可以參考一下
    2022-02-02
  • Python批量改變圖片名字的示例代碼

    Python批量改變圖片名字的示例代碼

    本文主要介紹了Python批量改變圖片名字的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • Python利用BeautifulSoup解析Html的方法示例

    Python利用BeautifulSoup解析Html的方法示例

    BeautifulSoup是python的一個(gè)庫,最主要的功能是從網(wǎng)頁抓取數(shù)據(jù)。下面這篇文章主要給大家介紹了關(guān)于Python利用BeautifulSoup解析Html的方法示例,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-07-07
  • python判斷字符串是否是json格式方法分享

    python判斷字符串是否是json格式方法分享

    這篇文章主要介紹了python判斷字符串是否是json格式方法分享,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11

最新評(píng)論