亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用pygame加載圖像

使用pygame加載圖像

至尊寶的傳說 2022-08-25 16:28:34
這是我的背景網格的代碼Background = pygame.display.set_mode((900 ,900))Green = (45,198,14)Background.fill(Green)for i in range(0, 900, 50):    pygame.draw.line(Background, (0, 0, 0), (0, i), (900, i))    pygame.draw.line(Background, (0, 0, 0), (i, 0), (i, 900))pygame.display.update()while pygame.event.wait().type != pygame.QUIT:    pass我無法將任何圖像加載到它上面,我必須將其轉換為n個圖像,然后使用精靈,或者有沒有辦法將圖像加載到網格上。我嘗試過使用blit功能,但它不會將圖像放在網格上。RedInfantry= pygame.image.load("H:\computer science\6.2\Coursework\Week\Red team\InfantryRedV20.gif").convert()while True:    Background.blit(RedInfantry,(0,0))如果我將圖像轉換為精靈,它會允許我移動和刪除網格上的圖像嗎?我是否必須在圖像中創建網格以將其他圖像放大到它上面。我想使用的步兵圖像
查看完整描述

1 回答

?
PIPIONE

TA貢獻1829條經驗 獲得超9個贊

將以下網格打包:


grid = [[None for i in range(0, 900, 50)] for j in range(0, 900, 50)]

將圖像分配給網格中的字段。例如:


grid[3][2] = RedInfantry

在應用程序循環的網格中繪制圖像:


for i in range(len(grid)):

    for j in range(len(grid[i])):

        x, y = i * 50, j * 50

        image = grid[i][j]

        if image != None:

            Background.blit(RedInfantry,(x, y))

此外,我建議在主應用程序循環中連續繪制整個場景:


import pygame 

pygame.init()


Background = pygame.display.set_mode((900 ,900))

Green = (45,198,14)


RedInfantry = pygame.Surface((50, 50))

RedInfantry.fill((255, 0, 0))


grid = [[None for i in range(0, 900, 50)] for j in range(0, 900, 50)]

grid[3][2] = RedInfantry


run = True

while run:

    # handle events

    for event in pygame.event.get():

        if event.type == pygame.QUIT:

            run = False


    # draw background

    Background.fill(Green)


    # draw scene

    for i in range(0, 900, 50):

        pygame.draw.line(Background, (0, 0, 0), (0, i), (900, i))

        pygame.draw.line(Background, (0, 0, 0), (i, 0), (i, 900))

    for i in range(len(grid)):

        for j in range(len(grid[i])):

            x, y = i * 50, j * 50

            image = grid[i][j]

            if image != None:

                Background.blit(image,(x, y))


    # update dispaly

    pygame.display.update()


查看完整回答
反對 回復 2022-08-25
  • 1 回答
  • 0 關注
  • 179 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號