pygame庫寫遊戲——入門
[用Python和Pygame寫遊戲-從入門到精通(1)](http://eyehere.net/2011/python-pygame-novice-professional-1/)
經過斷斷續續的學習,對python的語法有了一定的認識,並且通過廖雪峰的教程和慕課網上幾個課程的學習,模仿了其中幾個小程式的編寫。但是學習要回到實踐中來,想嘗試著編寫幾個小遊戲,發現需要學習pygame庫,而且脫離教程與模仿教程來編寫是兩種截然不同的體驗。
最終找到這位大神的部落格(包含pygame庫的教學),程式碼的每一行都有中文註釋,非常有助於我這種新手來理解每一行程式碼的含義。
因此準備通過他的部落格系統的學習pygame庫的使用,並且力圖達到可編寫小遊戲的level。
接下來的幾篇部落格可以看做是自己學習中的總結吧。
1、安裝pygame庫——非常簡單,可百度。
2、檢測自己安裝的pygame庫版本:
import pygame
print(pygame.ver)
```我的版本為1.9.3,不過版本號基本沒影響。
3、原博主的編寫的hello world!程式片段註釋非常的詳細,可以去看看。
4、自己嘗試編寫的程式
`background_filename = 'sushiplate.jpg'
mouse_filename = 'fugu.png'
import pygame
from pygame.locals import *
pygame.init()
pygame.mouse.set_visible(False)
pygame.event.set_grab(True)
<div class="se-preview-section-delimiter"></div>
#這裡可以把滑鼠(小魚)上面的滑鼠箭頭隱藏
screen = pygame.display.set_mode((640,480),NOFRAME,32)
<div class="se-preview-section-delimiter"></div>
#設定無邊框,也可嘗試其他的樣式
mouse_cursor = pygame.display.set_caption('hello world!')
background = pygame.image.load (background_filename).convert()
mouse_cursor = pygame.image.load(mouse_filename).convert_alpha()
while True:
for event in pygame.event.get():
if event.type == KEYDOWN:
if event.key == K_SPACE:
pygame.quit()
#這裡做了比較大的改進,按下空格鍵,退出程式
screen.blit(background,(0,0))
x,y = pygame.mouse.get_pos()
x-= mouse_cursor.get_width() /2
y-= mouse_cursor.get_height() /2
#注意這裡get_width()和/2中間有空格,否則會有錯誤
screen.blit(mouse_cursor,(x,y))
pygame.display.update()`
![新的hello world!程式——介面如下:](http://img.blog.csdn.net/20171128202246611?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzQwNDk3NzEy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
觀察截圖中被魚替代的滑鼠(顯然還有一個黑色的小滑鼠沒有被完全覆蓋),這裡需要用到
`pygame.mouse.set_visible(False)
pygame.event.set_grab(True)`
,但是我還沒學會-_-
<div class="se-preview-section-delimiter"></div>
for event in pygame.event.get():
if event.type == QUIT:
#接到推出事件後退出程式
pygame.quit()
“`
這是程式的退出機制,但是原博主用的是exit(),但是在我電腦上無法退出程式(程式無反應),因此改成pygame.quit()。
設定無邊框,也可嘗試其他的樣式
mouse_cursor = pygame.display.set_caption(‘hello world!’)
background = pygame.image.load(background_filename).convert()
mouse_cursor = pygame.image.load(mouse_filename).convert_alpha()
while True:
for event in pygame.event.get():
if event.type == KEYDOWN:
if event.key == K_SPACE:
pygame.quit()
#這裡做了比較大的改進,按下空格鍵,退出程式
screen.blit(background,(0,0))
x,y = pygame.mouse.get_pos()
x-= mouse_cursor.get_width() /2
y-= mouse_cursor.get_height() /2
#注意這裡get_width()和/2中間有空格,否則會有錯誤
screen.blit(mouse_cursor,(x,y))
pygame.display.update()`
。
觀察截圖中被魚替代的滑鼠(顯然還有一個黑色的小滑鼠沒有被完全覆蓋),這裡需要用到
,但是我還沒學會-_-
for event in pygame.event.get():
if event.type == QUIT:
#接到推出事件後退出程式
pygame.quit()
這是程式的退出機制,但是原博主用的是exit(),但是在我電腦上無法退出程式(程式無反應),因此改成pygame.quit()。