淺談Python Pygame圖像的基本使用
笛卡爾坐標(biāo)系
游戲離不開坐標(biāo),我們來康康pygame中坐標(biāo)是如何設(shè)立的吧~
窗口左上角坐標(biāo)(0,0),橫軸正向向右,縱軸正向向下
實(shí)際效果
碰到邊框就返回(其實(shí)是小球碰撞實(shí)驗(yàn),我不愛用正經(jīng)的小球,所以…)
代碼
import pygame,sys pygame.init() size = width, height = 600, 400 speed = [1,1] BLACK = 0, 0, 0 s = pygame.display.set_mode(size) pygame.display.set_caption("hi 滑稽") ball = pygame.image.load("img/361.png") ballrect = ball.get_rect() while True: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() ballrect = ballrect.move(speed[0], speed[1]) if ballrect.left < 0 or ballrect.right > width: speed[0] = - speed[0] if ballrect.top < 0 or ballrect.bottom > height: speed[1] = - speed[1] s.fill(BLACK) s.blit(ball, ballrect) pygame.display.update()
代碼說明
碰撞原理
方法說明
方法 | 說明 |
---|---|
pygame.image.load(filename) | 將filename路徑下的圖像載入游戲,支持JPG、PNG、GIF(非動畫)等13種常用圖片格式 |
get_rect() | 返回一個覆蓋圖像的矩形Rect對象 |
move(x,y) | 矩形移動一個偏移量(x,y),即在橫軸方向移動x像素,縱軸方向移動y像素,xy為整數(shù) |
fill(color) | 顯示窗口背景填充為color顏色,采用RGB色彩體系 |
blit(src, dest) | 將一個圖像繪制在另一個圖像上,即將src繪制到dest位置上。 |
載入圖片
pygame.init() size = width, height = 600, 400 #設(shè)置了寬高,也可以在pygame.display.set_mode()設(shè)置 speed = [1,1] #速度 BLACK = 0, 0, 0 #顏色黑色 s = pygame.display.set_mode(size) pygame.display.set_caption("hi 滑稽") ball = pygame.image.load("img/361.png") #注意圖片路徑 ballrect = ball.get_rect()
surface對象和Rect對象
Rect對象屬性
Rect對象有一些重要屬性,例如:top,bottom,left,right表示上下左右width,height表示寬度、高度。
移動
ballrect = ballrect.move(speed[0], speed[1]) # x1 if ballrect.left < 0 or ballrect.right > width: # x2 speed[0] = - speed[0] if ballrect.top < 0 or ballrect.bottom > height: speed[1] = - speed[1]
x1:矩形移動一個偏移量(x,y),即在橫軸方向移動x像素,縱軸方向移動y像素,xy為整數(shù)x2:遇到左右兩側(cè),橫向速度取反;遇到上下兩側(cè),縱向速度取反。
到此這篇關(guān)于淺談Python Pygame圖像的基本使用的文章就介紹到這了,更多相關(guān)Pygame圖像的基本使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
教你如何使用Python開發(fā)一個釘釘群應(yīng)答機(jī)器人
在聊天工具大肆侵入我們生活各個方面的今天,各種消息無時無刻不在侵?jǐn)_我們的每一寸時間,這種情況下,一個聊天的機(jī)器人就很有必要了.今天,我們來學(xué)習(xí)一下使用 Python 開發(fā)一個釘釘?shù)膽?yīng)答機(jī)器人,助你「人生苦短,少回消息」,需要的朋友可以參考下2021-06-06Python @property原理解析和用法實(shí)例
這篇文章主要介紹了Python @property原理解析和用法實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-02-02Python中集合類型(set)學(xué)習(xí)小結(jié)
這篇文章主要介紹了Python中集合類型(set)學(xué)習(xí)小結(jié),本文講解了set的初始化、運(yùn)算操作、基本方法等內(nèi)容,需要的朋友可以參考下2015-01-01python中join與os.path.join()函數(shù)實(shí)例詳解
os.path.join()函數(shù)用于路徑拼接文件路徑,下面這篇文章主要給大家介紹了關(guān)于python中join與os.path.join()函數(shù)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-03-03Python 合并多個TXT文件并統(tǒng)計(jì)詞頻的實(shí)現(xiàn)
這篇文章主要介紹了Python 合并多個TXT文件并統(tǒng)計(jì)詞頻的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08python print出共軛復(fù)數(shù)的方法詳解
在本篇內(nèi)容里小編給大家分享的是關(guān)于python print出共軛復(fù)數(shù)的方法總結(jié)內(nèi)容,有需要的讀者們可以學(xué)習(xí)下。2019-06-06詳解如何在Apache中運(yùn)行Python WSGI應(yīng)用
在生產(chǎn)環(huán)境上,一般會使用比較健壯的Web服務(wù)器,如Apache來運(yùn)行我們的應(yīng)用,本文中我們就會介紹如何使用Apache模塊mod_wsgi來運(yùn)行Python WSGI應(yīng)用。感興趣的小伙伴們可以參考一下2019-01-01