2 回答

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊
為了找到這個(gè)問題的根源,我們需要獲得更多信息。無法“讓第二個(gè)班級(jí)出現(xiàn)”可能是一百萬(wàn)種不同的事情。為了把它變成一個(gè)我可以幫助你的問題,你可以做一些測(cè)試。
我建議的第一個(gè)是為您的課程制作多個(gè)實(shí)例。例如:
playerChar1 = Char(BLUE, [0, 0], 30, 0)
playerChar2 = Char(BLUE, [0, 30], 30, 0)
playerChar3 = Char(BLUE, [30, 0], 30, 0)
這會(huì)在不同的地方產(chǎn)生 3 個(gè)字符嗎?如果不是,也許您正在繪制除最新角色之外的所有內(nèi)容?
如果您可以創(chuàng)建 Char 類的多個(gè)實(shí)例,接下來我們需要第二個(gè)類。我們將從您的 char 類開始,然后將其重命名Char2:
class Char2(pygame.sprite.Sprite):
def __init__(self, color, pos, radius, width):
super().__init__()
self.image = pygame.Surface([radius*2, radius*2])
self.image.fill(WHITE)
self.image.set_colorkey(WHITE)
pygame.draw.circle(self.image, color, [radius, radius], radius, width)
self.rect = self.image.get_rect()
def moveRight(self, pixels):
self.rect.x += pixels
pass
def moveLeft(self, pixels):
self.rect.x -= pixels
pass
def moveUp(self, pixels):
self.rect.y -= pixels
pass
def moveDown(self, pixels):
self.rect.y += pixels
pass
里面到處都是一樣的東西。就像以前一樣,你能創(chuàng)建這個(gè)類的實(shí)例嗎?他們會(huì)出現(xiàn)在屏幕上嗎?
最后,如果第二個(gè)類出現(xiàn),您需要做的就是調(diào)整第二個(gè)類中的邏輯,直到它像您想要的僵尸一樣運(yùn)行。

TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個(gè)贊
我自己在稍微擺弄了一下之后讓它工作了我使用了上面答案中提供的代碼:
playerChar1 = Char(BLUE, [0, 0], 30, 0)
playerChar2 = Char(BLUE, [0, 30], 30, 0)
playerChar3 = Char(BLUE, [30, 0], 30, 0)
我只是忘了在我的程序的主循環(huán)中添加這個(gè):
screen.blit(playerChar1.image,playerChar1.rect)
screen.blit(playerChar2.image,playerChar2.rect)
screen.blit(playerChar3.image,playerChar3.rect)
這讓它工作!以下部分是我在本網(wǎng)站的另一個(gè)問題中找到的。
添加回答
舉報(bào)