今日、私はGameMakersのswitch文が実行されていることに大きな問題がありました。 HTTP ASYNC EVENTが実行されると、show_message(answer);が実行されますが、その下のswitch文は実行されません。 "答え変数"のstring_lengthが1であると思われ、string_digitsを使用して、httpコールバックを取得するときに表示される可能性のあるすべての空白または不要な文字をエスケープすることを確認するため、コンパイラエラーです。変数答えの のみ可能返す値は次のとおりです。0、1、2、3、だからここGameMaker:httpスイッチのステートメントがhttp非同期イベントで実行されない
4. HTTP ASYNCイベントのコードです:すべてを事前に
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