pygame的字体画不出来_微软的python3教学的pygame的小游戏解析和学习
生活随笔
收集整理的這篇文章主要介紹了
pygame的字体画不出来_微软的python3教学的pygame的小游戏解析和学习
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1.微軟的python教學(xué)的pygame的小游戲
1.1 小球自彈跳代碼:(微軟官方網(wǎng)站給的)
import sys, pygame #導(dǎo)出模塊pygame.init() #初始化#定義界面參數(shù)size = width, height = 640, 480 #定義窗口大小dx = 1dy = 1x= 163y = 120black = (0,0,0) #顏色定義,黑色white = (255,255,255) #白色定義screen = pygame.display.set_mode(size)#屏幕設(shè)置屬性和大小while 1: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() x += dx y += dy if x < 0 or x > width: dx = -dx if y < 0 or y > height: dy = -dy screen.fill(black) #屏幕背景顏色設(shè)定 pygame.draw.circle(screen, white, (x,y), 8) #小球的設(shè)定,顏色設(shè)定,位置,大小等 pygame.display.flip()
1.2 動圖1:
2.對代碼進(jìn)行分析和改進(jìn)
2.1 代碼修改和說明
import sys, pygame #導(dǎo)出模塊pygame.init() #初始化#定義界面參數(shù)#size = width, height = 640, 480 #定義窗口大小,源微軟給的size = width, height = 1000, 800 #屏幕越大,小球的速度越小,你懂的dx = 1dy = 1x= 163y = 120#顏色RGB格式'''常用顏色格式:顏色 英文 十進(jìn)制 十六進(jìn)制純紅 Red 255,0,0 #FF0000純白 White 255,255,255 #FFFFFF純黑 Black 0,0,0 #000000純黃 Yellow 255,255,0 #FFFF00純綠 Green 0,128,0 #008000純藍(lán) Blue 0,0,255 #0000FF灰色 Gray 128,128,128 #808080粉紅色 Pink 255,192,203 #FFC0CB橙色 Orange 255,165,0 #FFA500紫色 Purple 128,0,128 #800080'''#顏色設(shè)置修改一下gray = (128,128,128) #設(shè)置背景顏色為灰色red = (255,0,0) #設(shè)置小球顏色為紅色'''black = (0,0,0) #顏色定義,黑色white = (255,255,255) #白色定義'''# 設(shè)置窗口標(biāo)題,自己添加的,微軟沒有給設(shè)置pygame.display.set_caption("微軟小球自彈跳") #如果不設(shè)置,就是默認(rèn)的標(biāo)題:pygame Windowscreen = pygame.display.set_mode(size)#屏幕設(shè)置屬性和大小while 1: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() x += dx y += dy if x < 0 or x > width: dx = -dx if y < 0 or y > height: dy = -dy screen.fill(gray) #屏幕背景顏色設(shè)定 pygame.draw.circle(screen, red, (x,y), 8) #小球的設(shè)定,顏色設(shè)定,位置,大小等 ''' screen.fill(black) #屏幕背景顏色設(shè)定 pygame.draw.circle(screen, white, (x,y), 8) #小球的設(shè)定,顏色設(shè)定,位置,大小等 ''' pygame.display.flip()
2.2 修改后的簡潔代碼:
import sys, pygame #導(dǎo)出模塊pygame.init() #初始化size = width, height = 1000, 800 #屏幕越大,小球的速度越小,你懂的dx = 1dy = 1x= 163y = 120#顏色設(shè)置修改一下gray = (128,128,128) #設(shè)置背景顏色為灰色red = (255,0,0) #設(shè)置小球顏色為紅色# 設(shè)置窗口標(biāo)題,自己添加的,微軟沒有給設(shè)置pygame.display.set_caption("微軟小球自彈跳") #如果不設(shè)置,就是默認(rèn)的標(biāo)題:pygame Windowscreen = pygame.display.set_mode(size)#屏幕設(shè)置屬性和大小while 1: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() x += dx y += dy if x < 0 or x > width: dx = -dx if y < 0 or y > height: dy = -dy screen.fill(gray) #屏幕背景顏色設(shè)定 pygame.draw.circle(screen, red, (x,y), 8) #小球的設(shè)定,顏色設(shè)定,位置,大小等 pygame.display.flip()
2.3 動圖2
3.順帶復(fù)習(xí)和學(xué)習(xí)pygame的使用
3.1 代碼是模板,需要修改后才能使用
#導(dǎo)出模塊import pygame# 初始化pygame庫pygame.init()# ----------窗口相關(guān)操作-----------# 創(chuàng)建窗口window = pygame.display.set_mode([窗口寬, 窗口高]) #需要自行設(shè)置,一般650,480# 設(shè)置窗口標(biāo)題pygame.display.set_caption("窗口標(biāo)題")# 加載資源圖片,返回圖片對象#image = pygame.image.load("res/game.ico") #位置和名稱,需要提前準(zhǔn)備好# 設(shè)置窗口圖標(biāo)pygame.display.set_icon(image)# 指定坐標(biāo),將圖片繪制到窗口#window.blit(image, (0, 0)) #指定坐標(biāo)(0,0),也可以自行定義# ----------圖像相關(guān)操作-----------# 加載圖片文件,返回圖片對象#image = pygame.image.load("圖片路徑") #圖片路徑和名稱,注意圖片格式# 獲得圖片矩形對象 -> Rect(x, y, width, height)# 默認(rèn)情況下左上角的坐標(biāo)是 (0, 0)#rect = image.get_rect(centerx=x, centery=y)# 在原位置基礎(chǔ)上,移動指定的偏移量 (x, y 增加)rect.move_ip(num1, num2)# 判斷兩個矩形是否相交,相交返回True,否則返回Falseflag = pygame.Rect.colliderect(rect1, rect2)# 將圖片對象按指定寬高縮放,返回新的圖片對象trans_image = pygame.transform.scale(image, (WINDOWWIDTH, WINDOWHEIGHT))# ----------事件相關(guān)操作-----------# 常見事件類型:# QUIT 關(guān)閉窗口# KEYDOWN 鍵盤按鍵# 獲得當(dāng)前所有持續(xù)按鍵 bools_tuple# 獲得所有事件的列表event_list = pygame.event.get()for event in event_list:# 1. 鼠標(biāo)點(diǎn)擊關(guān)閉窗口事件? ? if event.type == pygame.QUIT:? ? ? ? print("關(guān)閉了窗口")? ? ? ? sys.exit()# 2. 鍵盤按下事件? ? if event.type == pygame.KEYDOWN:# 判斷用戶按下的鍵是否是a鍵? ? ? ? if event.key == pygame.K_a:? ? ? ? ? ? print("按了 a ")? ? ? ? if event.key == pygame.K_UP:? ? ? ? ? ? print("按了 方向鍵上")# 3. 獲得當(dāng)前鍵盤所有按鍵的狀態(tài)(按下,沒有按下),返回bool元組pressed_keys = pygame.key.get_pressed()if pressed_keys[pygame.K_w] or pressed_keys[pygame.K_UP]:? ? print("按了 w 鍵,或者 方向鍵上")# ----------音效相關(guān)操作-----------# 加載背景音樂pygame.mixer.music.load("./res/音樂文件名") #注意路徑和文件名# 循環(huán)播放背景音樂pygame.mixer.music.play(-1)# 停止背景音樂pygame.mixer.music.stop()# 加載音效boom_sound = pygame.mixer.Sound("./res/音效名") #注意路徑和文件名# 播放音效boom_sound.play()# 停止音效boom_sound.stop()#顏色設(shè)定#三基色:Red Green Blue#0 ~ 255# -------- 文字顯示操作font = pygame.font.SysFont('SimHei', 字體大小) #字體大小填寫10等數(shù)字# render(text(文本內(nèi)容), antialias(抗鋸齒), color(RGB)),返回文字對象textobj = font.render(text, 1, (200, 200, 200))# 設(shè)置文字矩形對象位置textrect = textobj.get_rect()textrect.move_ip(水平偏移量, 豎直偏移量)# 在指定位置繪制指定文字對象window.blit(textobj, textrect)# 更新界面pygame.display.update()
3.2 可以嘗試修改看看。
總結(jié)
以上是生活随笔為你收集整理的pygame的字体画不出来_微软的python3教学的pygame的小游戏解析和学习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OCR项目实战(一):手写汉语拼音识别(
- 下一篇: DigitalOcean注册账号时绑定的