第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

需要將元組傳遞給子類來繪制三角形

需要將元組傳遞給子類來繪制三角形

吃雞游戲 2022-06-28 16:03:20
我想從一個類中畫一個三角形,所以我調(diào)用了這個函數(shù)pygame.draw.polygon()現(xiàn)在,問題是我需要以一種允許我計算三角形中心的方式傳遞這些點。我試圖以這種方式一個一個地傳遞元組self.first_point = (int, int)self.second_point = (int, int)self.third_point = (int, int)這樣我就可以訪問單個元組值。然后像這樣通過三分self.position = [self.first_point, self.second_point, self.third_point]但由于某種原因,它不起作用。這是我得到的錯誤File "C:/Users/oricc/PycharmProjects/designAChessboardChallange/display.py", line 178, in <module>    white_archer_3 = Archer(white, [(100, 100), (200, 200), (300, 300)])[(100, 100), (200, 200), (300, 300)]  File "C:/Users/oricc/PycharmProjects/designAChessboardChallange/display.py", line 132, in __init__    self.triangle = pygame.draw.polygon(game_window, colour, self.position)TypeError: points must be number pairs按對的數(shù)量,Pygame 文檔給出了一個例子例如 [(x1, y1), (x2, y2), (x3, y3)]事實上,當我打印我通過的位置時,你可以從上面的錯誤中看到[(100, 100), (200, 200), (300, 300)]任何人都可以幫助解決這個問題嗎?有沒有另一種方法來計算中心而不像那樣訪問 xs 和 ys?
查看完整描述

2 回答

?
長風秋雁

TA貢獻1757條經(jīng)驗 獲得超7個贊

你也可以這樣做:self.first_point = (int(0), int(0))asint不是占位符,而是聲明一個變量是一個整數(shù)str('0')將打印'0'你也可以輸入這個


zero = 0 

str(zero) #'0'

int(zero) #0 

而且您不需要放置 rgb 元組,因為您可以將它們存儲在這樣的變量中


black = (0, 0, 0) 

Display = pygame.display.set_mode((800, 600))

Display.fill(black) 


查看完整回答
反對 回復 2022-06-28
?
開心每一天1111

TA貢獻1836條經(jīng)驗 獲得超13個贊

好的,我設法使它工作。你們都是對的,我現(xiàn)在應該知道我不能通過占位符,所以我想出了解決我的問題的方法如下:


class Archer(Unit):

    def __init__(self, colour, first_point, second_point, third_point):

        self.first_point = first_point

        self.second_point = second_point

        self.third_point = third_point

        position = [self.first_point, self.second_point, self.third_point]

        super().__init__(colour, position)


        print(self.position)

        self.triangle = pygame.draw.polygon(game_window, colour, self.position)

        self.triangle_outline = pygame.draw.polygon(game_window, gold, self.position, 5)

        self.triangle_inline = pygame.draw.polygon(game_window, gold, self.position, 5)

基本上我必須在超級函數(shù)之前聲明三點自變量以及位置,以便我可以將它們作為“位置”傳遞給父類初始化程序。這個真的很有用!!


查看完整回答
反對 回復 2022-06-28
  • 2 回答
  • 0 關注
  • 118 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號