如題
目前正在練習寫一個太空船打隕石的小遊戲
以下是我main 裡面的程式碼,用來確認碰撞的
for i in range(len(game_objects)):
for j in range(i+1, len(game_objects)):
obj_1 = game_objects[i]
obj_2 = game_objects[j]
if not obj_1.dead and not obj_2.dead:
if obj_1.collides_with(obj_2):
obj_1.handle_collision_with(obj_2)
obj_2.handle_collision_with(obj_1)
for to_remove in [obj for obj in game_objects if obj.dead]: to_remove.delete()
game_objects.remove(to_remove)
然後object class的裡的__init__() 如下:
class PhysicalObject(pyglet.sprite.Sprite):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.dead = False
self.velocity_x, self.velocity_y = 0.0, 0.0
明明已經有在object 的class 設定了dead,
但當我跑程式時,
卻跑出
AttributeError: 'Sprite' object has no attribute 'dead'
請問各位大大有沒有人知道是哪裡出錯了?