竹内纱里奈和大战黑人_欧美成人黄色小视频_91福利影视_欧美在线观看视频网站_h色网站免费观看_97综合

極客小將

您現(xiàn)在的位置是:首頁 » python編程資訊

資訊內(nèi)容

pygame入門第一個(gè)游戲作品

極客小將2020-10-30-
學(xué)程序一開始我們總會寫一個(gè)Hello world程序,但那只是在屏幕上寫了兩個(gè)字,現(xiàn)在我們來點(diǎn)更帥的!寫好以后會是這樣的效果

原作者:xishui

學(xué)程序一開始我們總會寫一個(gè)Hello world程序,但那只是在屏幕上寫了兩個(gè)字,現(xiàn)在我們來點(diǎn)更帥的!寫好以后會是這樣的效果:

pygame入門第一個(gè)游戲作品

源碼:


#!/usr/bin/env python
#指定圖像文件名稱
background_image_filename = './img/Spaceship.png'
mouse_image_filename = './img/star.png'
#導(dǎo)入pygame庫
import pygame
#導(dǎo)入一些常用的函數(shù)和常量
from pygame.locals import *
#向sys模塊借一個(gè)exit函數(shù)用來退出程序
from sys import exit

#初始化pygame,為使用硬件做準(zhǔn)備
pygame.init()

 #創(chuàng)建了一個(gè)窗口
screen = pygame.display.set_mode((960, 720), 0, 32)
#設(shè)置窗口標(biāo)題
pygame.display.set_caption("Hello, World!")
#加載并轉(zhuǎn)換圖像
background = pygame.image.load(background_image_filename).convert()
mouse_cursor = pygame.image.load(mouse_image_filename).convert_alpha()
#游戲主循環(huán)
while True:
    for event in pygame.event.get():
        if event.type == QUIT:#接收到退出事件后退出程序
            exit()
     #將背景圖畫上去
    screen.blit(background, (0,0))
   #獲得鼠標(biāo)位置
    x, y = pygame.mouse.get_pos()
    #計(jì)算光標(biāo)的左上角位置,坐標(biāo)需要整數(shù)
    x-= int(mouse_cursor.get_width() / 2)
    y-= int(mouse_cursor.get_height() / 2)
    #把光標(biāo)畫上去
    screen.blit(mouse_cursor, (x, y))
   #刷新一下畫面
    pygame.display.update()


這個(gè)程序需要兩張圖片,一張圖作為界面的背景,另一張作為跟隨鼠標(biāo)的小圖標(biāo)。為了達(dá)到最佳效果,背景圖片的分辨率要跟創(chuàng)建窗口的大小一致:

screen = pygame.display.set_mode((960, 720), 0, 32)#960x720是背景圖的分辨率。

set_mode方法等下會詳細(xì)介紹;而且圖片需要要有Alpha通道,否則可能會報(bào)如下錯(cuò)誤,那么你需要換張圖。

pygame入門第一個(gè)游戲作品

set_mode會返回一個(gè) Surface 對象,代表了在桌面上出現(xiàn)的那個(gè)窗口,三個(gè)參數(shù)第一個(gè)為元祖,代表分辨率(必須);第二個(gè)是一個(gè)標(biāo)志位,具體意思見下表,如果不用什么特性,就指定0;第三個(gè)為色深。

pygame入門第一個(gè)游戲作品

convert函數(shù)是將圖像數(shù)據(jù)都轉(zhuǎn)化為Surface對象,每次加載完圖像以后就應(yīng)該做這件事件(事實(shí)上因?yàn)?它太常用了,如果你不寫pygame也會幫你做);convert_alpha相比convert,保留了Alpha 通道信息(可以簡單理解為透明的部分),這樣我們的光標(biāo)才可以是不規(guī)則的形狀。

游戲的主循環(huán)是一個(gè)無限循環(huán),直到用戶跳出。在這個(gè)主循環(huán)里做的事情就是不停地畫背景和更新光標(biāo)位置,雖然背景是不動的,我們還是需要每次都畫它,否則鼠標(biāo)覆蓋過的位置就不能恢復(fù)正常了。

blit是個(gè)重要函數(shù),第一個(gè)參數(shù)為一個(gè)Surface對象,第二個(gè)為左上角位置。畫完以后一定記得用update更新一下,否則畫面一片漆黑。

這是一個(gè)最最大概的Pygame程序的印象,接下來我們會學(xué)習(xí)更多深層次的東西,并且把各條語句都真正讀懂。


本站部分內(nèi)容轉(zhuǎn)載自網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系管理員及時(shí)刪除。

預(yù)約試聽課

已有385人預(yù)約都是免費(fèi)的,你也試試吧...

主站蜘蛛池模板: 91av电影在线观看 | 国产三区四区 | 国内精品一区二区三区 | 久国久产久精永久网页 | 精品国产一区二区三区四区四 | 成年网站在线观看 | 国产91精品一区二区 | 欧美成人性生活 | 亚洲爽爽网 | 亚洲午夜视频在线观看 | 国产成年人小视频 | 国产一级久久 | 日韩精品99| 黄色一级片视频播放 | av黄色在线| 久久久成人av| 日韩一区二区在线播放 | 视频一区在线 | 国产伦精品一区 | 国家一级毛片 | 成人欧美一区二区三区在线播放 | 亚洲欧洲成人av每日更新 | 九九热在线视频观看这里只有精品 | 亚洲精品二 | 欧美二区乱c黑人 | 欧美日韩高清 | 97av视频| 欧美一级做a爰片久久高潮 亚洲一级一级 | 黄色一区二区三区 | 国产精品美女在线观看 | 国产日韩精品一区 | 国产成年人免费视频 | 国产精品第一国产精品 | 亚洲成人一二三 | 国产 欧美 日韩 | 精品成人 | 岛国二区 | av在线二区 | 91麻豆精品91久久久久久清纯 | 男女涩涩网站 | 精品一区二区免费视频 |