WorldViz User Forum

WorldViz User Forum (
-   Vizard (
-   -   how to move seperately? (

nasr 05-09-2009 06:39 AM

how to move seperately?
im trying to move the marker and ball seperately but both are moving can i move both of them seperately?

import viz

import vizinfo
info = vizinfo.add( 'Demonstrates the single function creation of a grab object relationship.\nThe arrow keys move the hand object.\nThe w, a, s, d, keys rotate the hand.\nThe t, g, h, f, keys rotate the ball.' )


#Add the object that will do the grabbing
hand = viz.add( 'marker.wrl' )
hand.translate( 0, 1.5, 3 )

#Add the object that the marker will grab
ball = viz.add( 'ball.wrl' )
ball.translate( 0.5, 1.5, 3 )

link = None #The handle to the link object

#Grab or let go of the ball
def toggleLink():
global link
if link:
#If link exits, stop grabbing
link = None
#If no link, grab the ball with the hand
link = viz.grab( hand, ball )

vizact.onkeydown(' ',toggleLink)

#Setup keyboard control of hand and ball
vizact.whilekeydown(viz.KEY_UP,hand.translate,0,vi zact.elapsed(1),0,viz.RELATIVE_WORLD)
vizact.whilekeydown(viz.KEY_DOWN,hand.translate,0, vizact.elapsed(-1),0,viz.RELATIVE_WORLD)
vizact.whilekeydown(viz.KEY_RIGHT,hand.translate,v izact.elapsed(1),0,0,viz.RELATIVE_WORLD)
vizact.whilekeydown(viz.KEY_LEFT,hand.translate,vi zact.elapsed(-1),0,0,viz.RELATIVE_WORLD)

vizact.whilekeydown('w',hand.rotate,1,0,0,vizact.e lapsed(90),viz.RELATIVE_WORLD)
vizact.whilekeydown('s',hand.rotate,1,0,0,vizact.e lapsed(-90),viz.RELATIVE_WORLD)
vizact.whilekeydown('d',hand.rotate,0,1,0,vizact.e lapsed(90),viz.RELATIVE_WORLD)
vizact.whilekeydown('a',hand.rotate,0,1,0,vizact.e lapsed(-90),viz.RELATIVE_WORLD)

vizact.whilekeydown('t',ball.rotate,1,0,0,vizact.e lapsed(90),viz.RELATIVE_WORLD)
vizact.whilekeydown('g',ball.rotate,1,0,0,vizact.e lapsed(-90),viz.RELATIVE_WORLD)
vizact.whilekeydown('h',ball.rotate,0,1,0,vizact.e lapsed(90),viz.RELATIVE_WORLD)
vizact.whilekeydown('f',ball.rotate,0,1,0,vizact.e lapsed(-90),viz.RELATIVE_WORLD)

Jeff 05-10-2009 04:07 PM

The code tags you used were not correct. Try using [code][/code] to preserve the indentation

The script you showed only moves the marker with keypresses. The ball can be linked to the marker and they will move together. In order to move the ball seperately you would have to define some keys that translate the ball just as its done for the marker

nasr 05-11-2009 01:57 AM

how to disable the link between the first object and move the second object

def toggleLink():
    global link
    if link:
        #If link exits, stop grabbing
        link = None
        #If no link, grab the ball with the hand
        link = viz.grab( hand,ball )
vizact.onkeydown(' ',toggleLink)

jeff thankyou very much for your suggestions..
im using more than one object. when im moving the first object with the marker its perfect but when im leaving the first object and trying to move the second object the first object is still moving along with the cursor. how can disable moving the first object and just move the second object..

All times are GMT -7. The time now is 08:58 PM.

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