我試圖創建這個遊戲,在啓動時將50個精靈添加到屏幕上。如果有任何重疊的精靈試圖創建不重疊的精靈
if self.overlapping_sprites:
for sprite in self.overlapping_sprites:
self.game.make_obstacles(1, 1400, self.game.speed)
self.die()
這幾乎檢測,併爲每個精靈,它會創建一個新的精靈,並刪除有問題的精靈:這個精靈的__init__
功能我有以下。實現這個代碼確實有奇效,但它仍然不完美。加載時肯定還有一些重疊的精靈。哦,我應該提到我正在根據給定的長度隨機創建這些精靈。
以供參考,這是make_obstacles()
功能是什麼:
def make_obstacles(self, num, length, dx):
for i in range(num):
x = random.randrange(700, length)
y = random.randrange(10, games.screen.height - 10)
size = random.choice([Obstacle.obstacle_1,Obstacle.obstacle_3])
new_obstacle = Obstacle(game = self, x = x, y = y, size = size, dx = dx)
games.screen.add(new_obstacle)
有另一種方式,我應該嘗試在這裏完成我的目標是什麼?我還想弄清楚爲什麼這會在概念層面上發生,以進一步加深我的理解,所以任何幫助都將不勝感激。
哦,我可以看到我的邏輯失敗了。它看起來像is_empty聽起來正是我所需要的。 但是,似乎我無法讓它起作用,搜索後幾乎找不到它的文檔。這是否會在1.7以後的版本中引入? – user161592
好吧,我想我現在意識到這是一個我需要寫的函數。希望我能弄清楚這一點。我們將看到!謝謝! – user161592