我正在制作“太空侵略者”的简化版本,并且尝试从玩家角色中射击子弹。我为角色(main_ship)制作了一只乌龟,为子弹(子弹)制作了一只乌龟。如何克隆子弹(以射击子弹)?这是我的项目符号代码:
`bullet = turtle.Turtle()
bullet.speed(0)
bullet.shape("circle")
bullet.color("red")
bullet.shapesize(stretch_wid=0.5, stretch_len=0.5)
bullet.penup()
bullet.goto(main_ship.xcor(), main_ship.ycor())
bullet.hideturtle()`
我还没有尝试过任何东西,因为找不到任何解释方法的东西。
答案 0 :(得分:1)
由于子弹是乌龟,因此您是否研究过乌龟自己的clone()
方法:
Help on function clone in module turtle:
clone()
No argument.
Create and return a clone of the turtle with same position, heading
and turtle properties.
Example (for a Turtle instance named mick):
mick = Turtle()
joe = mick.clone()
由于海龟实际上是全局实体,并且从不进行垃圾收集,所以我建议您不要浪费子弹,而应该保留可用的子弹(list
),并根据需要从中取出并添加回项目符号不再活动时。当池为空时,只能从专用原型中克隆其他项目符号。