1. 如何用Python+Pygame旋轉圖像、灰度圖像
『』『
2013-7-4
by JavenLee
希望能帶給你啟發
'''
import Image
img = Image.open(『origin.png』) # 得到一個圖像的實例對象 img
rot_img = img.rotate(270) #順時針旋轉90度
rot_img.save("rot_img.jpg")
x_img=img.transpose(Image.FLIP_LEFT_RIGHT) #垂直翻轉
y_img=img.transpose(Image.FLIP_TOP_BOTTOM) #水平翻轉
new_imag=img.convert('L')
'''
模式
img.convert() 參數說明如下:
1 1位像素,黑和白,存成8位的像素
L 8位像素,黑白
P 8位像素,使用調色板映射到任何其他模式
RGB 3×8位像素,真彩
RGBA 4×8位像素,真彩+透明通道
CMYK 4×8位像素,顏色隔離
YCbCr 3×8位像素,彩色視頻格式
I 32位整型像素
F 32位浮點型像素
'''
2. 為何pygame中圖片無法上下移動
這個的話,你要教你的版本進行更新和升級換代變得更加的完善和完美,這樣才可以,如果不行的話,那就沒有辦法了,反正我就總的來說沒有特別大的區別,要你自己去改變的話,話仔的話,就完全可以了。
3. 我這里使用pygame想讓一組圖片向右移動,調用了以下函數,為什麼圖片仍然保持不動
在圖片進行移動時,背景沒有被刷新。
其實在Pygame中,圖片的移動時靠高速刷新的單個圖片形成的錯覺。
如果在上次圖片移動後沒有將背景進行刷新,那麼圖片就會再原先已經繪制了圖片的背景上再次繪制一個圖片,而這時因為你每次移動的距離較近,所以會有留下軌跡的錯覺。如果你的圖片每次移動的距離增大,就能看出問題在哪。
建議:在每次繪制移動後的圖片之前 先將背景圖片重新覆蓋掉,這樣就不會有'殘影/軌跡'存在了。
4. pygame怎麼讓用戶自己在窗口位置輸入東西
12.3.1創建Pygame窗口以及響應用戶輸入
《Python編程: 從入門到實踐》第12章武裝飛船,開始學習管理包含多個文件的項目。我們將重構很多代碼,以提高代碼的效率,並管理文件的內容,以確保項目組織有序。本節介紹創建Pygame窗口以及響應用戶輸入。
12.3開始游戲項目
現在來開始開發游戲《外星人入侵》。首先創建一個空的Pygame窗口,供後面用來繪制游戲元素,如飛船和外星人。我們還將讓這個游戲響應用戶輸入、設置背景色以及載入飛船圖像。
12.3.1創建Pygame窗口以及響應用戶輸入
首先,我們創建一個空的Pygame窗口。使用Pygame編寫的游戲的基本結構如下:
alien_invasion.py
import sys
import pygame
def run_game():
# 初始化游戲並創建一個屏幕對象
pygame.init()
screen = pygame.display.set_mode((1200, 800))
pygame.display.set_caption("Alien Invasion")
# 開始游戲的主循環
while True:
# 監視鍵盤和滑鼠事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
# 讓最近繪制的屏幕可見
pygame.display.flip()
run_game()
首先,我們導入了模塊sys和pygame。模塊pygame包含開發游戲所需的功能。玩家退出時,我們將使用模塊sys來退出遊戲。
游戲《外星人入侵》的開頭是函數run_game()。u處的代碼行pygame.init()初始化背景設置,讓Pygame能夠正確地工作。在v處,我們調用pygame.display.set_mode()來創建一個名為screen的顯示窗口,這個游戲的所有圖形元素都將在其中繪制。實參(1200, 800)是一個元組,指定了游戲窗口的尺寸。通過將這些尺寸值傳遞給pygame.display.set_mode(),我們創建了一個寬1200像素、高800像素的游戲窗口(你可以根據自己的顯示器尺寸調整這些值)。
對象screen是一個surface。在Pygame中,surface是屏幕的一部分,用於顯示游戲元素。在這個游戲中,每個元素(如外星人或飛船)都是一個surface。display.set_mode()返回的surface表示整個游戲窗口。我們激活游戲的動畫循環後,每經過一次循環都將自動重繪這個surface。
這個游戲由一個while循環(見w)控制,其中包含一個事件循環以及管理屏幕更新的代碼。事件是用戶玩游戲時執行的操作,如按鍵或移動滑鼠。為讓程序響應事件,我們編寫一個事件循環,以偵聽事件,並根據發生的事件執行相應的任務。x處的for循環就是一個事件循環。
為訪問Pygame檢測到的事件,我們使用方法pygame.event.get()。所有鍵盤和滑鼠事件都將促使for循環運行。在這個循環中,我們將編寫一系列的if語句來檢測並響應特定的事件。例如,玩家單擊游戲窗口的關閉按鈕時,將檢測到pygame.QUIT事件,而我們調用sys.exit()來退出遊戲(見y)。
z處調用了pygame.display.flip(),命令Pygame讓最近繪制的屏幕可見。在這里,它在每次執行while循環時都繪制一個空屏幕,並擦去舊屏幕,使得只有新屏幕可見。在我們移動游戲元素時,pygame.display.flip()將不斷更新屏幕,以顯示元素的新位置,並在原來的位置隱藏元素,從而營造平滑移動的效果。
在這個基本的游戲結構中,最後一行調用run_game(),這將初始化游戲並開始主循環。
如果此時運行這些代碼,你將看到一個空的Pygame窗口。
5. pygame怎麼限制圖片不要跑到窗口外面
對點陣圖的繪制坐標進行判斷就可以了,讓他的x,y坐標不要超過屏幕范圍。
比如screen.blit(image,(x,y)) 不要讓x,y超過屏幕的可見范圍。
6. 求解怎麼用pygame隨機選擇圖片
簡單點的話 可以把圖片依次命名為1-n.png
然後用random隨機生成1-n的數字,接著用程序調用產生數字對應的圖片就可以了。
思路就是這樣的,如有疑問歡迎追問。
7. pygame怎麼實現從一個文件夾里隨機選取圖片,並導出
簡單點的話 可以把圖片依次命名為1-n.png
然後用random隨機生成1-n的數字,接著用程序調用產生數字對應的圖片就可以了。
思路就是這樣的。
8. Pygame怎麼把圖片移到滑鼠點的位置
每次刷新獲取滑鼠位置<pygame.mouse.get_pos()>再根據坐標移動圖片位置
9. python中pygame如何將發射攻擊的圖片映射上並實現不同軌跡的運動
這種圖片的話可以有不同的軌跡,你可以把那個方式攻擊的那圖片放在這個p hut on上面。
10. python pygame 怎麼畫3維圖像
import pygame #這句不用注釋了吧,呵呵
pygame.init() #模塊初始化,任何pygame程序均需要執行此句
screencaption=pygame.display.set_caption('hello world')#定義窗口的標題為'hello world'
screen=pygame.display.set_mode([640,480]) #定義窗口大小為640*480
screen.fill([255,255,255])#用白色填充窗口