pygame最基本框架及幾點重要錯誤和問題

今天自己扣了點網上的免費素材。用ps打開psd後用qq截圖慢慢摳。不是美工出身,土辦法解決啊。。。

然後自己編寫了一個非常簡單清晰的程序主體框架,以後都可以在上面測試和跑代碼了,嘿嘿,美滋滋。代碼如下:

# -*- coding: utf-8 -*-
"""
Created on Wed Jul 26 13:55:23 2017
@author: 陳昱臻
"""

import pygame
from pygame.locals import *
from sys import exit
pygame.init()
#導入模塊並初始化
screen = pygame.display.set_mode((1000, 600), 0, 32)
#創建一個叫圖像窗口的surface對象。名叫screen



background_filename = 'background.jpg'
mouse_filename = 'mouse.png'
icon_filename='icon.bmp'
choice_filename='choice.bmp'
choice2_filename='choice2.bmp'
road_filename='road.bmp'
go_filename='go.bmp'
#設置文件名的路徑字符串,以圖片_filename作爲格式



background = pygame.image.load(background_filename).convert()
mouse= pygame.image.load(mouse_filename).convert_alpha()
choice = pygame.image.load(choice_filename).convert()   
choice2 = pygame.image.load(choice2_filename).convert()   
road = pygame.image.load(road_filename).convert()   
go = pygame.image.load(go_filename).convert() 
icon = pygame.image.load(icon_filename).convert_alpha()
#逐個圖片素材導入到surface對象中



pygame.display.set_icon(icon)#創建程序任務欄圖標
pygame.display.set_caption("圖像算法程序" )#爲窗口命名


while True:
    for event in pygame.event.get():
        if event.type == QUIT:
            quit()
            exit()
            #退出的消息處理            
               

    screen.blit(background, (0,0))#將背景圖畫上
    screen.blit(choice, (0,0))#將背景圖畫上
    screen.blit(choice2, (0,0))#將背景圖畫上
    screen.blit(road, (0,0))#將背景圖畫上
    screen.blit(go, (0,0))#將背景圖畫上

    x, y = pygame.mouse.get_pos()
    screen.blit(mouse, (x, y))
    #把光標畫上去





    pygame.display.update()
    #刷新一下畫面

其中有兩個重要的問題要說明一下。

1.窗口和圖片雖然都是surface類對應的對象,但實際上他們是有地位差異的,爲其他的surface對象導入圖片前,必須保證窗口對象screen的出現,否則就會raiseerror,大致意思說說,no video什麼什麼的。總之一定要先創建窗口對象才能創建其他對象。

2.set_icon()函數必須要配合alpha的convert()否則就會什麼都沒有。這有可能,只能說可能,因爲系統要求其像素是32*32,比較小,不去掉透明區就所在中間看不到(比較牽強,但是加了就沒事了 ,知道的大牛路過可以幫我看看。。。)


上面的貼圖座標沒有寫出來,到時候根據自己的界面需求和圖片要求再改吧。現在都擠在上面一團。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章