亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python 中怎么創建一名可操控的角色玩家

發布時間:2021-07-10 17:15:31 來源:億速云 閱讀:165 作者:Leah 欄目:編程語言

今天就跟大家聊聊有關 Python 中怎么創建一名可操控的角色玩家,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

創建一個 Python 類

在 Python 中,當你在創建一個你想要顯示在屏幕上的對象時,你需要創建一個類。

在你的 Python  腳本 靠近頂端的位置,加入如下代碼來創建一個玩家。在以下的代碼示例中,前三行已經在你正在處理的 Python  腳本 中:

import pygame
import sys
import os # 以下是新代碼
class Player(pygame.sprite.Sprite):
    '''
    生成一個玩家
    '''
    def __init__(self):
        pygame.sprite.Sprite.__init__(self)
        self.images = []
    img = pygame.image.load(os.path.join('images','hero.png')).convert()
    self.images.append(img)
    self.image = self.images[0]
    self.rect  = self.image.get_rect()

如果你的可操控角色擁有一個走路循環,在 images 文件夾中將對應圖片保存為 hero1.png 到 hero4.png 的獨立文件。

使用一個循環來告訴 Python 遍歷每個文件。

'''
對象
'''
class Player(pygame.sprite.Sprite):
    '''
    生成一個玩家
    '''
    def __init__(self):
        pygame.sprite.Sprite.__init__(self)
        self.images = []
        for i in range(1,5):
            img = pygame.image.load(os.path.join('images','hero' + str(i) + '.png')).convert()
            self.images.append(img)
            self.image = self.images[0]
            self.rect  = self.image.get_rect()

將玩家帶入游戲世界

現在已經創建好了一個 Player 類,你需要使用它在你的游戲世界中生成一個玩家妖精。如果你不調用 Player 類,那它永遠不會起作用,(游戲世界中)也就不會有玩家。你可以通過立馬運行你的游戲來驗證一下。游戲會像上一篇文章末尾看到的那樣運行,并得到明確的結果:一個空蕩蕩的游戲世界。

為了將一個玩家妖精帶到你的游戲世界,你必須通過調用 Player 類來生成一個妖精,并將它加入到 Pygame 的妖精組中。在如下的代碼示例中,前三行是已經存在的代碼,你需要在其后添加代碼:

world       = pygame.display.set_mode([worldx,worldy])
backdrop    = pygame.image.load(os.path.join('images','stage.png')).convert()
backdropbox = screen.get_rect()
# 以下是新代碼
player = Player()   # 生成玩家
player.rect.x = 0   # 移動 x 坐標
player.rect.y = 0   # 移動 y 坐標
player_list = pygame.sprite.Group()
player_list.add(player)

嘗試啟動你的游戲來看看發生了什么。高能預警:它不會像你預期的那樣工作,當你啟動你的項目,玩家妖精沒有出現。事實上它生成了,只不過只出現了一毫秒。你要如何修復一個只出現了一毫秒的東西呢?你可能回想起上一篇文章中,你需要在主循環中添加一些東西。為了使玩家的存在時間超過一毫秒,你需要告訴 Python 在每次循環中都繪制一次。

將你的循環底部的語句更改如下:

    world.blit(backdrop, backdropbox)
    player_list.draw(screen) # 繪制玩家
    pygame.display.flip()
    clock.tick(fps)

現在啟動你的游戲,你的玩家出現了!

設置 alpha 通道

根據你如何創建你的玩家妖精,在它周圍可能會有一個色塊。你所看到的是 alpha 通道應該占據的空間。它本來是不可見的“顏色”,但 Python 現在還不知道要使它不可見。那么你所看到的,是圍繞在妖精周圍的邊界區(或現代游戲術語中的“命中區hit box”)內的空間。

Python 中怎么創建一名可操控的角色玩家

你可以通過設置一個 alpha 通道和 RGB 值來告訴 Python 使哪種顏色不可見。如果你不知道你使用 alpha 通道的圖像的 RGB 值,你可以使用 Krita 或 Inkscape 打開它,并使用一種獨特的顏色,比如 #00ff00(差不多是“綠屏綠”)來填充圖像周圍的空白區域。記下顏色對應的十六進制值(此處為 #00ff00,綠屏綠)并將其作為 alpha 通道用于你的 Python 腳本。

使用 alpha 通道需要在你的妖精生成相關代碼中添加如下兩行。類似第一行的代碼已經存在于你的腳本中,你只需要添加另外兩行:

            img = pygame.image.load(os.path.join('images','hero' + str(i) + '.png')).convert()
            img.convert_alpha()     # 優化 alpha
            img.set_colorkey(ALPHA) # 設置 alpha

除非你告訴它,否則 Python 不知道將哪種顏色作為 alpha 通道。在你代碼的設置相關區域,添加一些顏色定義。將如下的變量定義添加于你的設置相關區域的任意位置:

ALPHA = (0, 255, 0)

在以上示例代碼中,0,255,0 被我們使用,它在 RGB 中所代表的值與 #00ff00 在十六進制中所代表的值相同。你可以通過一個優秀的圖像應用程序,如 GIMP、Krita 或 Inkscape,來獲取所有這些顏色值。或者,你可以使用一個優秀的系統級顏色選擇器,如 KColorChooser,來檢測顏色。

Python 中怎么創建一名可操控的角色玩家

看完上述內容,你們對 Python 中怎么創建一名可操控的角色玩家有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

山阴县| 福安市| 黄陵县| 天气| 沽源县| 平乡县| 广宗县| 时尚| 修文县| 冷水江市| 达孜县| 石泉县| 莱西市| 库尔勒市| 南宁市| 安阳市| 宝坻区| 阳原县| 稻城县| 珠海市| 望江县| 北川| 绿春县| 修武县| 新河县| 庄浪县| 土默特右旗| 乌拉特前旗| 阳西县| 镇安县| 时尚| 泗阳县| 南平市| 宁化县| 宜黄县| 普洱| 若尔盖县| 崇义县| 辽宁省| 高陵县| 固安县|