WorldViz User Forum

WorldViz User Forum (https://forum.worldviz.com/index.php)
-   Vizard (https://forum.worldviz.com/forumdisplay.php?f=17)
-   -   Help with code please! (https://forum.worldviz.com/showthread.php?t=6352)

victorhe 02-04-2021 02:15 AM

Help with code please!
 
Hey! Sorry for the very basic question, I am very new with coding and Python.
I've created three tasks, each with their own events that execute a certain sequence of actions/movements for an avatar in my environment.
I am trying to design an experimental trial in which one trial will include 1)AttackPhase 2)WanderPhase 3)Wait - in that order.
How can I write a code for this?

#TASKS
def WanderPhase ():
seq = random.choice([RWanderTask, LWanderTask])
viztask.schedule( seq() )

vizact.onkeydown('6',WanderPhase)

def AttackPhase():
seq = random.choice([Male_task_front, Male_task_right, Male_task_left])
viztask.schedule( seq() )

vizact.onkeydown('7',AttackPhase)

def Wait ():
seq = random.choice([Waiting])
viztask.schedule( seq() )

vizact.onkeydown('8',Wait)

sado_rabaudi 08-25-2021 09:48 AM

Hi,

I believe you would need to put all of your tasks under one function and then call that function with one viztask.schedule(seq()). In that function the viztask function is waiting for "yield" statements

i.e.

def fadeAndAppear():
yield viztask.addAction( ball, vizact.fadeTo(0,time=2) )
print('done fading' )
yield viztask.addAction( ball, vizact.fadeTo(1,time=2) )
print('done appearing')
viztask.schedule( fadeAndAppear() )

Best,
Sado


All times are GMT -7. The time now is 02:54 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Copyright 2002-2023 WorldViz LLC