Quote:
Originally Posted by rzoeller
The problem is the button commands you are using. "joystick.joy1_Buttons" doesn't work like Joy1Btn, where it outputs the actual button number. Instead, it outputs numbers to the power of 2, like this:
button 1 = 1
button 2 = 2
button 3 = 4
button 4 = 8
button 5 = 16
button 6 = 32
etc...
This is useful to allow for commands where multiple buttons are pressed at once, but can be a pain otherwise. In your script, button 3 should activate case 4, with button 4 activating case 8. Case 3 currently displays when 1 and 2 are pressed togethor, and case 4 displays when button 3 is pressed.
|
^^Truth.
In addition, the joy1_buttons int adds the numbers together if multiple buttons are pressed at once (ex if button 3 (button 3 is 4) and button 4 (button 4 is 8) were pressed at the same time, the result in joy1_buttons would be 12).
Also, your code would only check to see if a single button is pressed each time the loop runs, because you're using a single switch statement. So, if you had buttons 3 and 4 pressed, the program would only see button 3 as pressed.
You may want to try a loop that checks each button, something like...
Code:
for(int i=1;i<=12;i++) {
if(joy1Btn(i)) {
switch(i) {
case 1: /* Button 1 code */ break;
//...
}
if(joy2Btn(i)) {
switch(i) {
case 1: /* Button 1 code */ break;
//...
}
}
Good job, though. ^^