【发布时间】:2016-09-05 10:22:27
【问题描述】:
我试图在游戏循环中只移动一个精灵,包括两个精灵。我在Bit.update() 方法中包含了spr1,所以如果按下w spr1.y -= 60。换句话说,精灵被分配给self,希望当w被按下时只有spr1会被移动。但是,在当前代码中,按下 w 会同时移动 spr1 和 spr2。如何在更新方法中只引用和更新spr1?
class Bit(games.Sprite):
def update(self):
if games.keyboard.is_pressed(games.K_w):
self = spr1
self.y -= 60
def main():
spr1_image = games.load_image("spr1.png")
spr1 = Bit(image = spr1_image,
x = games.screen.width / 10,
y = games.screen.height / 10)
spr2_image = games.load_image("spr2.png")
spr2 = Bit(image = spr2_image,
x = games.screen.width * 9 / 10,
y = games.screen.height * 9 / 10)
games.screen.add(spr1)
games.screen.add(spr2)
games.screen.mainloop()
main()
【问题讨论】:
-
不清楚您要做什么。无论如何,每个实例都只引用自己;调用
self.y仅作用于调用update的实例。 -
当我按下 w 它移动两个精灵。我正在尝试编写程序,以便按 w 单独移动 spr1。
标签: python class oop livewires