本文章是一篇學習筆記。加入了自己的理解。
最終實現的是小球的一個移動
pygame:就是一個制作游戲的模塊,在Python中進行調用即可。
import pygame#導入pygame模塊
pygame.init()#初始化pygame
screen = pygame.display.set_mode((600,400))#設置窗口
condition = True #創建游戲結束的條件
while condition:#主循環
for event in pygame.event.get():#添加檢查事件
if event.type == pygame.QUIT:#退出事件,當鼠標點擊退出按鈕時退出程序
condition = False #更改游戲退出條件
pygame.quit() #游戲退出
上面代碼主要實現:窗口化和退出事件。
import pygame #導入pygame模塊 import sys #導入sys模塊 pygame.init() #初始化pygame screen = pygame.display.set_mode((600,400)) #設置窗口 ball = pygame.image.load("./box.glf") #導入小球圖片,圖片的路徑請自行修改。
ballrect = ball.get_rect() #通過get_rect()這個函數就可以獲取圖片的位置
print(ballrect) #這里可以通過輸出來看一下圖片的所在位置
seppn = [1,1] #x軸和y軸的位置
clock=pygame.time.Clock() #設置時間,這里要注意的是Clock的首字母一定要大寫
while True: #主循環 clock.tick(100) #每秒執行100秒
for event in pygame.event.get(): #添加檢查事件 if event.type == pygame.QUIT: #退出事件,當鼠標點擊退出按鈕時退出程序 sys.exit()
ballrect = ballrect.move(seppn)
if ballrect.left < 0 or ballrect.right > 600: #碰撞檢查
speed[0] = -speed[0] #取反
if ballrect.top < 0 or ballrect.bottom > 400:
speed[1] = -speed[1] #取反
screen。fill((0,0,0)) #添加一個新的背景,因為每次在while循環更新的時候我們生成一個背景,當第二次的時候又會生成一個新背景來覆蓋小球此時小球看起來就不會有重疊的現象了
screen.blit(ball, ballrect) #將ball和ballrect 顯示在窗口中
pygam.display.flip() #顯示窗口的內容
pygame.quit()
上述代碼實現:1.添加小球
2.顯示小球的位置
3.檢查小球的碰撞
4.增加一個新的背景讓小球看起來不會有重疊的現象
5.設置一下小球的速度
6.完成小球的整個運動
以下代碼是改進完后的代碼

impor pygame #導入pygame模塊 impor sys #導入sys模塊 pygame.init() #初始化pygame size = width, height = 600,400 screen = pygame.display.set_mode(size) #設置窗口 ball = pygame.image.load("./box.glf") #導入小球圖片,圖片的路徑請自行修改。 ballrect = ball.get_rect() #通過get_rect()這個函數就可以獲取圖片的位置 print(ballrect) #這里可以通過輸出來看一下圖片的所在位置 seppn = [1,1] #x軸和y軸的位置 clock=pygame.time.Clock() #設置時間,這里要注意的是Clock的首字母一定要大寫 color = (0,0,0) #設置顏色 while True: #主循環 clock.tick(100) #每秒執行100秒 for event in pygame.event.get(): #添加檢查事件 if event.type == pygame.QUIT: #退出事件,當鼠標點擊退出按鈕時退出程序 sys.exit() ballrect = ballrect.move(seppn) #向x軸和y軸移動 if ballrect.left < 0 or ballrect.right > width: #碰撞檢查 speed[0] = -speed[0] #取反 if ballrect.top < 0 or ballrect.bottom > height: speed[1] = -speed[1] #取反 screen。fill(color) #添加一個新的背景,因為每次在while循環更新的時候我們生成一個背景,當第二次的時候又會生成一個新背景來覆蓋小球此時小球看起來就不會有重疊的現象了 screen.blit(ball, ballrect) #將ball和ballrect 顯示在窗口中 pygam.display.flip() #顯示窗口的內容 pygame.quit()
自行獲取圖片: