Программирование игр для Windows. Советы профессионала


Калибровка джойстика - часть 4


// минимального и максимального значений по осям Х и У. Затем

// полученные значения сохраняются в глобальных переменных.

unsigned int x_new,у_new; // позиция джойстика

if (stick==JOY_1_CAL) {

printf("\nCalibrating Joystick #1: Swirl stick, then release it and press FIRE");

// придаем переменным заведомо невозможные значения

joy_1_max_x=0;

joy_1_max_y=0;

joy_1_min_x=10000;

joy_1_min_y=10000;

// пользователь должен покрутить джойстик, поставить его в среднее

// положение и затем нажать любую кнопку

while(!Buttons(BUTTON_1_A | BUTTON_1_B))

{

// читаем новые значения потенциометра и пытаемся улучшить

// калибровку

x_new = Joystick_Bios(JOYSTICK_1_X);

y_new = Joystick_Bios(JOYSTICK_1_Y};

// обрабатываем

ось X

if (x_new >= joy_1_max x) joy_1_max x = x_new;

if (x_new <= joy_1_min_x) joy_1_min_x = x_new;

// обрабатываем

ось Y

if (y_new >= joy_1_max_y) joy_1_max_y = y_new;

if (y_new <= joy_1_ min y) joy_1_min у = у_new;

} // конец цикла while

// получаем значения потенциометра, соответствующие нейтральному

// положению

joy_1_cx = x_new;

 

joy_l_cy = y_new;

} // конец калибровки джойстика А

else

if (stick==JOY_2_CAL)

{

printf("\nCalibrating Joystick #2: Swirl stick, then release it and pres's FIRE");

// придаем переменным заведомо невозможные значения

joy_2_max x=0;

joy_2_max_y=0;

joy_2_min_x=10000;

joy_2_min_y=10000;

// пользователь должен покрутить джойстик, поставить его в

// нейтральное положение и нажать любую кнопку

while(!Buttons(BUTTON_2_A | BUTTON_2_B)) 

{

// читаем значение потенциометра и пытаемся улучшить калибровку

x_new = Joystick (JOYSTICK_2_X) ;

y_new = Joystick(JOYSTICK_2_Y);

// обрабатываем ось Х

if (x_new

>= joy_2_max_x)

joy_2_max x = x_new;

else if (x_new <= joy_2_min_x)

joy_2_min_x = x_new;

// обрабатываем

ось Y

if (y_new >=joy_2_max_y)

joy_2_max_y = y_new;

else if (y_new <= joy_2_min_y)

joy_2_min_y = y_new;

} // конец цикла while

// читаем значения, соответствующие нейтральному положению




Начало  Назад  Вперед



Книжный магазин