![]() |
|
|||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
#1
|
|||
|
|||
|
# I want to show balls on the screen one by one, not all the balls appear immediately.
# could you please help me to use the time function to control it. Appreciate. import viz viz.go() OriginalBall = viz.add('ball.wrl') for x in [0, 0.2, 0.4, 0.6, 0.8]: ## nested loop for y in [0, 0.3, 0.6, 0.9]: ball = OriginalBall.copy() ##use the copy() to save cpu resource ball.translate(2+x, 2+y, 2) ball.setScale(0.02,0.02,0.02) |
|
#2
|
|||
|
|||
|
this code adds the balls to an array and initially makes them invisible.
the timer goes off every half second and calls a function that makes one ball visible each time Code:
import viz
viz.go()
OriginalBall = viz.add('ball.wrl')
viz.MainView.setPosition([-2,2.5,-2])
viz.MainView.setEuler([45,0,0])
balls = []
for x in [0, 0.2, 0.4, 0.6, 0.8]: ## nested loop
for y in [0, 0.3, 0.6, 0.9]:
ball = OriginalBall.copy() ##use the copy() to save cpu resource
ball.translate(2+x, 2+y, 2)
ball.setScale(.2,.2,.2)
ball.visible(viz.OFF)
balls.append(ball)
number = 0
def showBall():
global number
balls[number].visible(viz.ON)
number +=1
vizact.ontimer2(.5,len(balls)-1,showBall)
The next time you post code use the code tags so that the indentation is preserved |
![]() |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| How to wirte words on a BillBoard? | znchb | Vizard | 8 | 11-02-2008 08:04 AM |
| timer question | Elittdogg | Vizard | 5 | 10-10-2007 03:49 PM |