- Python AI游戲編程入門(mén):基于Pygame和PyTorch
- 肖凱
- 459字
- 2024-10-25 14:10:47
1.4.2 二維圖形顯示
游戲角色需要顯示在屏幕的某個(gè)位置上,這個(gè)位置對(duì)應(yīng)的坐標(biāo)系原點(diǎn)一般在屏幕左上角,坐標(biāo)的單位是像素點(diǎn)。如圖1-1所示,我們建立了一個(gè)600px×300px的屏幕窗口,在窗口的左上角位置放置了一個(gè)邊長(zhǎng)為100px的正方形,正方形的左上角坐標(biāo)(0,0)就是原點(diǎn)。我們也可以通過(guò)設(shè)置左上角或其他位置的坐標(biāo)來(lái)控制正方形的位置。

圖1-1
游戲角色(Spirit)一般由兩個(gè)要素構(gòu)成,一個(gè)是角色的“外皮”,即用來(lái)表現(xiàn)視覺(jué)效果的圖片文件,另一個(gè)是角色的“骨架”,即構(gòu)成圖片外部邊緣的邊框。角色的圖片文件需要在初始化時(shí)加載,將其加載到內(nèi)存后,可以獲取其邊框?qū)ο螅缓笸ㄟ^(guò)設(shè)置邊框的坐標(biāo)值來(lái)控制角色的位置。
最后需要注意的是緩沖機(jī)制。在游戲主循環(huán)中,游戲角色生成后并不會(huì)被直接輸出到游戲界面窗口中,而是先輸出到顯卡的內(nèi)存緩沖區(qū),計(jì)算機(jī)再將內(nèi)存緩沖區(qū)的游戲角色信息更新并輸出到屏幕上。就像在話劇表演中,帷幕落下后,后臺(tái)人員忙著擺放場(chǎng)景道具;將這些場(chǎng)景道具放置妥當(dāng)后,帷幕升起。這樣做的好處是不會(huì)將尚未準(zhǔn)備好的舞臺(tái)展示給觀眾,而帷幕遮擋的舞臺(tái)就相當(dāng)于存放游戲角色信息的內(nèi)存緩沖區(qū)。
推薦閱讀
- 數(shù)據(jù)庫(kù)系統(tǒng)教程(第2版)
- Vue.js 3.x從入門(mén)到精通(視頻教學(xué)版)
- Learning Flask Framework
- 神經(jīng)網(wǎng)絡(luò)編程實(shí)戰(zhàn):Java語(yǔ)言實(shí)現(xiàn)(原書(shū)第2版)
- Mastering LibGDX Game Development
- Linux環(huán)境編程:從應(yīng)用到內(nèi)核
- TypeScript項(xiàng)目開(kāi)發(fā)實(shí)戰(zhàn)
- 精通Python設(shè)計(jì)模式(第2版)
- 零基礎(chǔ)輕松學(xué)SQL Server 2016
- Android開(kāi)發(fā)案例教程與項(xiàng)目實(shí)戰(zhàn)(在線實(shí)驗(yàn)+在線自測(cè))
- Extending Puppet(Second Edition)
- C語(yǔ)言程序設(shè)計(jì)
- Building Microservices with .NET Core
- Python Web自動(dòng)化測(cè)試設(shè)計(jì)與實(shí)現(xiàn)
- 快樂(lè)編程:青少年思維訓(xùn)練