我一直在做一個(gè)練習(xí),我們需要用另一個(gè)函數(shù)的大小屬性創(chuàng)建一個(gè)毛毛蟲。在下面的代碼中,我添加了一個(gè)介于 0 和 3 之間的大小屬性。class Caterpillar: def __init__(self): self.size = random.randrange(0, 3) x = random.randrange(50, 950) y = random.randrange(50, 950) self.xcoord = x self.ycoord = y但是,在下面的這段代碼中,當(dāng)我嘗試在此行中添加大小時(shí)pygame.draw.ellipse(screen, red, [x, y, size, 40, 45]),但出現(xiàn)錯(cuò)誤。def draw_critter(self, screen): x = self.xcoord y = self.ycoord size = self.size pygame.draw.ellipse(screen, red, [x, y, 40, 45]) pygame.draw.ellipse(screen, black, [x + 6, y + 10, 10, 15]) pygame.draw.ellipse(screen, black, [x + 24, y + 10, 10, 15]) pygame.draw.line(screen, black, (x + 11, y + 1), (x + 9, y - 10), 3) pygame.draw.line(screen, black, (x + 25, y + 1), (x + 26, y - 10), 3)我不明白為什么會(huì)出現(xiàn)此錯(cuò)誤File "D:/UniFiles/Sem/159/critters.py", line 53, in <module> critter.draw_critter(screen) File "D:\UniFiles\Sem\159\mycritters.py", line 27, in draw_critter pygame.draw.ellipse(screen, red, [x, y, size, 40, 45])TypeError: Invalid recstyle argument我不確定我是否真的了解課堂的運(yùn)作方式。有人可以告訴我一個(gè)例子,說明我如何實(shí)現(xiàn) draw_critter 函數(shù)來(lái)創(chuàng)建整個(gè)毛毛蟲而不僅僅是頭部。
1 回答

ABOUTYOU
TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊
ellipse()
期望:
pygame.draw.ellipse() ????draw?an?ellipse ????ellipse(surface,?color,?rect)?->?Rect ????ellipse(surface,?color,?rect,?width=0)?->?Rect
什么是矩形?它期望這樣:
pygame.Rect ????pygame?object?for?storing?rectangular?coordinates ????Rect(left,?top,?width,?height)?->?Rect ????Rect((left,?top),?(width,?height))?->?Rect ????Rect(object)?->?Rect
它沒有在任何地方提到尺寸參數(shù)。
我不太確定你想做什么,但聽起來(lái)你想要一個(gè)長(zhǎng)橢圓來(lái)表示毛毛蟲?那么也許你可以畫一些size
橢圓并將它們隔開一點(diǎn)。
例如:
for?s?in?range(self.size): ????pygame.draw.ellipse(screen,?red,?[x?+?s*10,?y,?40,?45])
這只是一種方式,我不知道你想要它看起來(lái)如何。
添加回答
舉報(bào)
0/150
提交
取消