通过使用 VPython,我可以得到我正在编写的程序,通过调用同一个类来生成多个球。我还可以让球在生成时出现在选定的随机范围内(跨 x、y 和 z)。
但是,我目前对如何从循环中调用 pos / position 函数感到困惑——因为我想让球移动。
请在下面查看我的代码。
如果我调用 Ball.pos 它声明为未定义,但如果我通过 self.position 放置我的定位,则只生成一个球,因为它们不是从球体详细信息下引用的?
from visual import *
from random import *
scene.title = "Multi Balls"
wallBm = box(pos=(0,-6,0), size=(12.2,0.1,12.1), color=color.blue, opacity=0.4)
vscale = 0.1
deltat = 0.005
t = 0
scene.autoscale = False
i = 0
totalBalls = 10
class Ball:
def __init__(self):
self.velocity = vector(0,5,0)
#vel sample ([5,10,15,20,25],3)
sphere (pos=(randrange (-6,6),randrange (-6,6),randrange (-6,6)), radius=0.5, color=color.cyan)
while True:
rate(100)
if i < totalBalls:
Ball()
i = i + 1
t = 5 + deltat