View Single Post
  #1  
Old 08-07-2016, 08:13 PM
hsc hsc is offline
Member
 
Join Date: Aug 2016
Posts: 2
Walking Down the Stairs

Hi all,

I've been trying to create a falling from stairs scenario, but the my functions doesn't work as expected. The relevant code is below. Once the fall function is activated the main view moves forward and down repeatedly (bumping), but instead of going down the stairs, it's stuck in the original position. The "if" loop isn't working either.
Now I'm stuck with it and have no idea how to modify the code. Please help me if you see what the problems are. Thank you.


Code:
#Bumping
def bump():
	i=1
	while (i<10):
		position = viz.MainView.getPosition()
		position[1]+= -.5
		action1 = vizact.goto(position,0.1,viz.TIME)
		yield viz.MainView.addAction(action1)
				
		position = viz.MainView.getPosition()
		position[0]+= .5
		action2 = vizact.goto(position,0.1,viz.TIME)
		yield viz.MainView.addAction(action2)
		
		i+=1

#Spinning
def spin(e):
			euler = viz.MainView.get(viz.HEAD_EULER)
			euler[0] += e.dx*3
			euler[1] += -e.dy*3
			euler[0] = viz.clamp(euler[0],10.0,190.0)
			euler[1] = viz.clamp(euler[1],-60.0,60.0)
			viz.MainView.setEuler(euler,viz.HEAD_ORI) 

#Fall
def fall():
	position2 = viz.MainView.getPosition()
	orientation2 = viz.MainView.getEuler()
	if 2.1< position2[1] <5.5:	
		viz.MainView.collision(viz.OFF)
		viz.callback(viz.MOUSE_MOVE_EVENT,spin)
		viztask.schedule(bump())
vizact.ontimer(0,fall)
Reply With Quote