Сегодня у меня возникли проблемы с выполнением инструкции оператора GameMakers. Когда выполняется HTTP ASYNC EVENT, show_message (ответ); выполнен, но инструкция switch под ним не работает. Я думаю, что это ошибка компилятора, потому что кажется, что string_length «answer variable» равно 1, и используя string_digits, чтобы убедиться, что он избегает всех возможных пробелов или ненужных символов, которые могут появляться при повторном обращении к http. только возможные возвращающиеся значения переменной ответа являются: 0, 1, 2, 3, 4.GameMaker: оператор switch Studio не выполняется в событии http async
Так вот код HTTP ASYNC EVENT:
if(ds_map_find_value(async_load, "id") == request_auth) {
if(ds_map_find_value(async_load, "status") == 0) {
callback = ds_map_find_value(async_load, "result");
var answer = string_digits(callback);
show_message(answer);
switch(answer) {
case USERNAME_EXISTS:
show_message("username already exists");
break;
case ACCOUNT_CREATED:
show_message("Your account has been successfully created!");
break;
case LOGGED_IN:
buffer_seek(global.buffer, buffer_seek_start, 0);
buffer_write(global.buffer, buffer_u8, 0);
buffer_write(global.buffer, buffer_string, "username");
Send();
break;
case INCORRECT_PASSWORD:
show_message("your password is incorrect");
break;
case INCORRECT_USERNAME:
show_message("your username is invalid");
break;
}
}
else {
callback = noone;
}
}
Заранее спасибо за все ответы! Ура!
Какие значения в ваших макросах? Это числа ('0',' 1', '2' и т. Д.) Или строки (' '0" ',' "1" ',' "2" 'и т. Д.)? – Dmi7ry