Столкнулся с проблемой. Делаю меню по образцу, с той только разницей, что у меня не 3, а 4 варианта выбора. Меню представляет собой выбор игроком нации, что даёт ему определённый бонус в игре. Не знаю почему, но в игре клавиша "вправо" отказывается работать (при этом "влево" работает нормально), а 4-й вариант (choise = 3) не работает вовсе.
Код
if choise = 0 && keyboard_check_pressed(vk_left) then choise = 3; if choise = 1 && keyboard_check_pressed(vk_left) then choise = 0; if choise = 2 && keyboard_check_pressed(vk_left) then choise = 1; if choise = 3 && keyboard_check_pressed(vk_left) then choise = 2;
if choise = 0 && keyboard_check_pressed(vk_right) then choise = 1; if choise = 1 && keyboard_check_pressed(vk_right) then choise = 2; if choise = 2 && keyboard_check_pressed(vk_right) then choise = 3; if choise = 3 && keyboard_check_pressed(vk_right) then choise = 0;
if choise = 0 && keyboard_check_pressed(vk_down) then choise = 2; if choise = 1 && keyboard_check_pressed(vk_down) then choise = 3;
if choise = 2 && keyboard_check_pressed(vk_up) then choise = 0; if choise = 3 && keyboard_check_pressed(vk_up) then choise = 1;
if choise = 0 then {with o_zelon image_single = 1; with o_markon image_single = 0; with o_zatimar image_single = 0; with o_maldoran image_single = 0}; if choise = 1 then {with o_zelon image_single = 0; with o_markon image_single = 1; with o_zatimar image_single = 0; with o_maldoran image_single = 0}; if choise = 2 then {with o_zelon image_single = 0; with o_markon image_single = 0; with o_zatimar image_single = 1; with o_maldoran image_single = 0}; if choise = 3 then {with o_zelon image_single = 0; with o_markon image_single = 0; with o_zatimar image_single = 0; with o_maldoran image_single = 1};
if choise = 0 && keyboard_check_pressed(vk_enter) then {health = 2000; room_goto(r_space)}; if choise = 1 && keyboard_check_pressed(vk_enter) then {health = 1500; room_goto(r_space)}; if choise = 2 && keyboard_check_pressed(vk_enter) then {health = 1200; room_goto(r_space)}; if choise = 3 && keyboard_check_pressed(vk_enter) then {health = 1100; room_goto(r_space)};
Что я делаю не так?
П.С.: Поскольку в теме Вопрос-Ответ ответа не дождался, дублирую здесь.
П.П.С.: Попробовал такой вариант:
Код
if choise = 0 && keyboard_check_pressed(vk_left) then choise -= 0; if choise = 1 && keyboard_check_pressed(vk_left) then choise -= 1; if choise = 2 && keyboard_check_pressed(vk_left) then choise -= 1; if choise = 3 && keyboard_check_pressed(vk_left) then choise -= 1;
if choise = 0 && keyboard_check_pressed(vk_right) then choise += 1; if choise = 1 && keyboard_check_pressed(vk_right) then choise += 1; if choise = 2 && keyboard_check_pressed(vk_right) then choise += 1; if choise = 3 && keyboard_check_pressed(vk_right) then choise += 0;
Но почему-то значения choise выходят за рамки. Наверное, как-то можно задать область допустимых значений choise, но пока не знаю, как.