国产日韩欧美一区二区三区综合,日本黄色免费在线,国产精品麻豆欧美日韩ww,色综合狠狠操

極客小將

您現在的位置是:首頁 » python編程資訊

資訊內容

pygame入門第一個游戲作品

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

原作者:xishui

學程序一開始我們總會寫一個Hello world程序,但那只是在屏幕上寫了兩個字,現在我們來點更帥的!寫好以后會是這樣的效果:

pygame入門第一個游戲作品

源碼:


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

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

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


這個程序需要兩張圖片,一張圖作為界面的背景,另一張作為跟隨鼠標的小圖標。為了達到最佳效果,背景圖片的分辨率要跟創建窗口的大小一致:

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

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

pygame入門第一個游戲作品

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

pygame入門第一個游戲作品

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

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

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

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


本站部分內容轉載自網絡,如有侵權請聯系管理員及時刪除。

預約試聽課

已有385人預約都是免費的,你也試試吧...

主站蜘蛛池模板: 阳江市| 横峰县| 贞丰县| 大兴区| 尉氏县| 平利县| 五原县| 澜沧| 资源县| 金沙县| 北碚区| 容城县| 承德县| 岑溪市| 五家渠市| 保靖县| 宁波市| 漳州市| 哈巴河县| 来凤县| 阳西县| 裕民县| 聂荣县| 昌吉市| 五家渠市| 成都市| 吉林市| 丰原市| 广宁县| 南汇区| 汕头市| 邢台市| 怀化市| 舟曲县| 鹤山市| 霸州市| 新竹市| 故城县| 二连浩特市| 荔波县| 宝清县|