2D遊戲開發(1)

2022-08-09 22:39:22 字數 1470 閱讀 4849

《外星人入侵》  

通過pygame,入門python的2d遊戲開發過程,通過教材製作乙個打外星人遊戲。

1、函式 run_game() 

import sys

import pygame

def run_game():

#初始化遊戲,並建立乙個螢幕物件

pygame.init()   

screen = pygame.display.set_mode((1200, 800))

pygame.display.set_caption("alien invasion")

#開始遊戲的主迴圈

while true:

#監視鍵盤、滑鼠的操作

for event in pygame.event.get():

if event.type == pygame.quit:

sys.exit()

#讓螢幕視覺化

pygame.display.flip()

run_game()

這段函式匯入了2個模組,sys 、pygame。模組pygame包含了開發遊戲所需要的功能,玩家退出時需要使用模組sys來進退出。

pygame.init()進背景初始化,讓pygame可以正確的工作。在這裡使用pygame.display.set_mode()來建立乙個名為screen的顯示視窗。

元組(1200,800)指定了遊戲視窗的大小。

這個遊戲的主體,由乙個while迴圈控制,這個while迴圈包含了乙個迴圈事件以及管理螢幕更新的**。

事件是使用者玩遊戲時執行的操作,如 按鍵,移動滑鼠。為讓程式響應事件,我們編寫了乙個事件迴圈,以偵聽事件,並根據發生的事件執行

響應的任務。這裡的for迴圈就是完成這個工作。

例如:玩家點選遊戲視窗的關閉按鈕時,將檢測到pygame.quit事件,進而程式將呼叫sys.exit()來退出遊戲。

pygame.display.flip()的功能是讓pygame最近繪製的螢幕課間,在這裡它每次執行while迴圈時都會繪製乙個空螢幕,並擦去舊螢幕,使得只有

新螢幕課間。在我們移動遊戲元素時,pygame.display.flip()將不斷更新螢幕,以顯示元素的新位置。

在最後一行,呼叫了run_game(),這將初始化遊戲並開始主迴圈,此時執行**就會看到乙個空的pygame視窗。

2D遊戲開發(2)

每次給遊戲新增新功能時,通常也會引入一些新設定。為了讓所有的設定進行統一管理,我們可以配置乙個名為 setting的模組,這個模組中包含乙個setting的類,用來儲存所有的設定。usr bin env python3.5 filename setting 儲存所有的設定 class setting...

搭建Cocos2d開發環境 2D遊戲開發利劍

最近老韓分派下來乙個 任務 讓做個打地鼠的2d遊戲,因為近段時間比較忙,所以把這個任務交給工作室的人來練練手,那麼應該怎麼去做呢,那麼就介紹下2d遊戲開發的利劍!本文參考 cocos2d是乙個開源的框架,用於構建2d遊戲,演示程式和其他圖形介面互動應用。檔案格式如下 2 到相應的資料夾目錄。執行下面...

2D遊戲vs3D遊戲

前幾天,小李子一直在糾纏3d,偽3d遊戲等。雖說小李子效力於大公司,但是該公司畢竟不是專業的遊戲公司。美工xx等一概不全,要使用個3d引擎做個ipad,android的遊戲。這年頭是怎麼了。遊戲最主要的是什麼?是畫面?還是互動的畫面?還是互動的立體畫面?接觸過這麼多遊戲,還沒有見過只以最精緻的畫面獲...