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