PDA

View Full Version : Basic Joystick Navigation Question


Plasma
01-28-2004, 01:01 PM
Here's a really basic question:

I'm using a Logitech Cordless Freedom 2.4 joystick, and I know Vizard is recognizing it because it prints:

Logitech Freedom 2.4 USB Supported: Y Axis, X Axis, Slider, Rz, 10 Buttons, Hat Switch

in the winviz.exe DOS screen.

I have "import sid" at the beginning of the program.

How do I get it to navigate the environment using the joystick instead of the mouse? The tutorial files just outline how to get information from the joystick but not how to use that information to navigate.

Also, is it possible to use the stick twist to rotate within the environment (i.e. to turn corners, etc.)?

Thanks!

farshizzo
01-28-2004, 01:36 PM
Hi,

There is no built-in functionality to control the viewpoint with the joystick, but it's still really easy to do. Here is some code that will use the joystick to move forward/backward and right/left. It will also use the twist of the joystick to rotate the viewpoint left and right. This example does not import any models, so you'll have to import your own model in order to navigate around.

import viz
import sid
import math

viz.go()

def mytimer(num):
y = sid.get()[1]
x = sid.get()[0]
twist = (180.0 / math.pi) * (sid.aux()[3])
if math.fabs(y) > 0.2:
viz.move(0,0,-y*0.1)
if math.fabs(x) > 0.2:
viz.move(x*0.1,0,0)
if math.fabs(twist) > 20:
viz.rotate(viz.BODY_ORI,twist/50.0,0,0)

viz.callback(viz.TIMER_EVENT,mytimer)
viz.starttimer(0,0.001,viz.FOREVER)

Hope this helps!

Plasma
01-29-2004, 08:08 PM
Works perfectly. Thanks a lot!