眾所周知,pygame是一款跨越平臺之間的模塊,它是專業(yè)為電子游戲類相關(guān)的產(chǎn)品進行設(shè)計的,包括圖文顯示,聲音處理,這篇文章的主要目的,是為大家進行詳細的介紹關(guān)于Python pygame的相關(guān)教程,并貼出了相關(guān)代碼案例。
pygame簡介
pygame的基礎(chǔ)功能是作為python游戲的基礎(chǔ)功能包去進行使用的。
pygame實現(xiàn)窗口
恢復(fù)默認pygame,使用init(),這種類似于java的方法,可完成一些初始化的操作
pygame.init()
設(shè)置屏幕尺寸大校,(700,600)設(shè)置屏幕初始大小為700*600的大小,0和32是比較高級的用法。這樣我們便設(shè)置了一個500*400的屏幕。
surface=pygame.display.set_mode((500,400),0,32)
假如說我們不設(shè)置pygame的話,那么窗口會一閃而過,我們在這里的話,要去捕捉其相關(guān)的事件,所以需要點擊退出按鈕,如果沒有點擊退出按鈕的話,就會造成窗口一直顯示,如下所示:
pygame.display.set_caption(“我的pygame游戲”)
pygame.display,set_caption設(shè)置窗口的標(biāo)題
import pygame,sys
from pygame.locals import*
pygame.init()
surface=pygame.display.set_mode((500,400),0,32)
pygame.display.set_caption("我的pygame游戲")
while True:
for event in pygame.event.get():
if event.type==QUIT:
pygame.quit()
sys.exit()
設(shè)置屏幕背景色
這里設(shè)置背景顏色為(255,255,255),然后更新屏幕
#設(shè)置背景顏色
surface.fill((255,255,255))
#更新屏幕
pygame.display.update
添加文字
首先獲取Font對象,渲染Font對象,然后設(shè)置文本位置即可,pygame.font.SysFont(None,40)獲取到文字對象,然后渲染文字為surface對象,basicFont.render方法第一個參數(shù)是文字,第二個是是否去除鋸齒,第三個和第四個是文字的顏色和文字的背景顏色。然后一個屏幕的區(qū)域,使用blit將文字渲染到屏幕上。注意這里渲染的必須在屏幕的填充顏色之后,不然會覆蓋文字。
#獲取字體對象
basicFont=pygame.font.SysFont(None,40)
#surface對象
text=basicFont.render('秀兒',True,(255,255,255),(0,255,0))
#設(shè)置文本位置
textRect=text.get_rect()
textRect.centerx=surface.get_rect().centerx
textRect.centery=surface.get_rect().centery
#將渲染的surface對象更新到屏幕上
surface.blit(text,textRect)
如上圖所示,中文顯示亂碼,這里我們獲取系統(tǒng)的字體,并將其中一種中文字體設(shè)置為默認字體即可。
#獲取當(dāng)前系統(tǒng)字體
fonts=pygame.font.get_fonts()
print(fonts)
import pygame,sys
from pygame.locals import*
pygame.init()
surface=pygame.display.set_mode((500,400),0,32)
pygame.display.set_caption("我的pygame游戲")
surface.fill((255,255,255))
#獲取字體對象
basicFont=pygame.font.SysFont("方正粗黑宋簡體",48)
#surface對象
text=basicFont.render('秀兒',True,(255,255,255),(0,255,0))
#設(shè)置文本位置
textRect=text.get_rect()
textRect.centerx=surface.get_rect().centerx
textRect.centery=surface.get_rect().centery
#將渲染的surface對象更新到屏幕上
surface.blit(text,textRect)
pygame.display.update()
while True:
for event in pygame.event.get():
if event.type==QUIT:
pygame.quit()
sys.exit()
繪制多邊形
polygon來繪制多邊形,第一個參數(shù)是屏幕對象,第二個是顏色,第三個是用點串連的一個元組,最后一個點有和第一個是一致的
import pygame,sys
from pygame.locals import*
pygame.init()
surface=pygame.display.set_mode((500,400),0,32)
pygame.display.set_caption("我的pygame游戲")
surface.fill((255,255,255))
pygame.draw.polygon(surface,(0,0,255),((50,40),(100,100),(120,80),(50,40)))
pygame.display.update()
while True:
for event in pygame.event.get():
if event.type==QUIT:
pygame.quit()
sys.exit()
繪制直線
line方法,第一個參數(shù)是屏幕對象,之后是顏色和兩個點,最后一個參數(shù)是線條寬度
pygame.draw.line(surface,(0,0,255),(50,40),(100,100),10)
繪制圓形
circle用來繪制圓形,第一個參數(shù)和第二個參數(shù)是屏幕對象和顏色,之后是圓心和半徑,最后一個表示寬度,如果設(shè)置為0,則是一個實園。
pygame.draw.circle(surface,(0,0,255),(50,40),20,10)
繪制橢圓
第一個參數(shù)和第二個參數(shù)同上,第三個參數(shù)分別指定x和y軸的左上角,之后是x和y的半徑,最后一個是寬度
pygame.draw.ellipse(surface,(0,0,255),(50,40,20,10),2)
繪制矩形
rect來繪制矩形,第一個和第二個參數(shù)同上,第三個參數(shù)分別制定左上角和右下角
pygame.draw.rect(surface,(0,0,255),(50,40,20,10))
綜上所述,Python game入門基礎(chǔ)知識就為大家介紹到這里了,希望可以為各位讀者帶來幫助。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/127643.html
吃豆人和削蘋果這兩個游戲想必大家都知道吧,本文運用Python里的Pygame控制模塊編寫出一個融合吃豆人+切水果的新手游:玩命吃蘋果,有興趣的話可以認識一下 引言 哈哈哈!木木子今天浮現(xiàn)——早已來給大家看了不少具體內(nèi)容啦~ 涉及到的人工智能、新手、網(wǎng)絡(luò)爬蟲、數(shù)據(jù)統(tǒng)計分析(這一塊的通常但是審批)手機游戲... PS: 吃豆人我寫過了哈 Python+Pygame實戰(zhàn)之吃豆豆游戲的實...
摘要:先來看下效果實際使用不需要打開手機,此處為演示需要實現(xiàn)代碼主要有兩個部分接收紅包消息直接從手機端微信獲取數(shù)據(jù)比較麻煩,主流的方法都是通過微信網(wǎng)頁版來獲取。這里我用的是,通過即可安裝,之前我也寫過文章介紹微信機器人進化指南。 又到了辭舊迎新的時候,群里的紅包也多起來了。然而大佬們總是喜歡趁我不在的時候發(fā)紅包,經(jīng)常打開手機,發(fā)現(xiàn)紅包已被搶完,感覺錯過了一個億。 安卓上有不少紅包助手工具,但...
此篇文章主要是詳細介紹了python完成簡單的貪吃蛇小游戲附編號,文章內(nèi)容緊扣主題進行詳盡的基本介紹,具有很強的參考意義,需用的朋友可以學(xué)習(xí)一下 序言: 不知道有沒有同學(xué)們和我一樣,最開始觸碰程序編程的動機就是為了做一個游戲打? 接下來要跟大家分享是指一個pygame所寫的貪食蛇手機游戲: 貪食蛇這一個手機游戲在編程設(shè)計里的熟客,由于: 簡易,最基本游戲情節(jié)你只需要蛇和食物2個就可以...
前言 最近,我在群里答疑的時候,經(jīng)常碰到,小伙伴,再變量,縮進,參數(shù),方面使用錯誤,導(dǎo)致程序運行不來。 今天,打算自己寫一篇。 Python 變量作用域,和生命周期。 徹底弄懂變量該怎么使用。 知識點 變量的使用,有作用域區(qū)別,也有生命周期的區(qū)別。 1.變量作用域 局部變量 python能夠影響變量作用域的代碼段是def、class、lamda。 def scopeTest(): local...
閱讀 956·2023-01-14 11:38
閱讀 936·2023-01-14 11:04
閱讀 787·2023-01-14 10:48
閱讀 2157·2023-01-14 10:34
閱讀 1005·2023-01-14 10:24
閱讀 895·2023-01-14 10:18
閱讀 545·2023-01-14 10:09
閱讀 622·2023-01-14 10:02