- Python AI游戲編程入門:基于Pygame和PyTorch
- 肖凱
- 500字
- 2024-10-25 14:10:47
1.4.1 游戲主循環(huán)
除非用戶中斷游戲,否則游戲程序需要一直運行。所以游戲程序中必然存在一個循環(huán),循環(huán)中的代碼反復運行。這個循環(huán)稱為游戲循環(huán)(game loop)。每運行一次循環(huán)中的代碼,稱為游戲中的一幀(frame)。基于人類眼球的生理特性,游戲一般采用30或者60的幀率來運行,設置游戲幀率為30,就意味著每秒運行30次循環(huán),換句話說,單次循環(huán)消耗的時間要控制在33毫秒左右,不能過多也不能過少。游戲中能否達到這個幀率依賴于很多因素,如果硬件性能很強大,代碼中的計算很簡單,一個循環(huán)中的代碼可能只需要幾毫秒就運行完畢。
游戲循環(huán)中應該包括主要的游戲邏輯代碼,例如處理玩家輸入、更新游戲數(shù)據(jù)、生成游戲輸出這3個階段的代碼。以經典的射擊游戲《坦克大戰(zhàn)》為例,玩家輸入可能是鍵盤的按鍵,即通過鍵盤控制方向和發(fā)射炮彈,當用戶按下發(fā)射炮彈對應的按鍵時,程序要保存并處理這個信息。在更新游戲數(shù)據(jù)階段,程序要根據(jù)用戶的輸入信息,在內存中生成炮彈對象,如果之前已經發(fā)射了炮彈,則需要判斷炮彈是否擊中敵人,敵人是否被擊殺。這里可能要處理上百個對象和多種游戲邏輯。在生成游戲輸出階段,最重要的事情之一就是繪制顯示在屏幕上的內容,如坦克、發(fā)射的炮彈、爆炸效果等。
推薦閱讀
- Puppet 4 Essentials(Second Edition)
- Learning Real-time Processing with Spark Streaming
- Java異步編程實戰(zhàn)
- Java Web基礎與實例教程(第2版·微課版)
- Android Studio Essentials
- The Computer Vision Workshop
- Learning Python Design Patterns(Second Edition)
- Microsoft Dynamics GP 2013 Reporting, Second Edition
- Python Data Structures and Algorithms
- HTML5開發(fā)精要與實例詳解
- Android嵌入式系統(tǒng)程序開發(fā):基于Cortex-A8(第2版)
- 代碼閱讀
- C編程技巧:117個問題解決方案示例
- Get Your Hands Dirty on Clean Architecture
- C語言程序設計與應用實驗指導書(第2版)