Fix nuklear input processing

This commit is contained in:
2023-11-09 06:21:29 +01:00
parent aa9fe8fa9a
commit 4458a26c4f
2 changed files with 20 additions and 11 deletions

View File

@@ -692,10 +692,12 @@ NK_API void nk_raylib_input_mouse(struct nk_context * ctx)
// Mouse Wheel
float mouseWheel = GetMouseWheelMove();
if (mouseWheel != 0.0f) {
struct nk_vec2 mouseWheelMove;
mouseWheelMove.x = 0.0f;
mouseWheelMove.y = mouseWheel;
nk_input_scroll(ctx, mouseWheelMove);
if (nk_input_is_mouse_hovering_rect(&ctx->input, ctx->active->bounds)) {
struct nk_vec2 mouseWheelMove;
mouseWheelMove.x = 0.0f;
mouseWheelMove.y = mouseWheel;
nk_input_scroll(ctx, mouseWheelMove);
}
}
}

View File

@@ -53,15 +53,18 @@ int sizeY = 1;
void render(float dt, Game *game) {
Camera2D *camera = &game->camera;
if (IsKeyDown(KEY_W)) camera->target.y -= 20;
if (IsKeyDown(KEY_S)) camera->target.y += 20;
if (IsKeyDown(KEY_A)) camera->target.x -= 20;
if (IsKeyDown(KEY_D)) camera->target.x += 20;
if (IsKeyDown(KEY_Q)) camera->rotation--;
if (IsKeyDown(KEY_E)) camera->rotation++;
if (!nk_item_is_any_active(NK)) {
if (IsKeyDown(KEY_W)) camera->target.y -= 20;
if (IsKeyDown(KEY_S)) camera->target.y += 20;
if (IsKeyDown(KEY_A)) camera->target.x -= 20;
if (IsKeyDown(KEY_D)) camera->target.x += 20;
camera->zoom += ((float)GetMouseWheelMove() * 0.05f);
if (IsKeyDown(KEY_Q)) camera->rotation--;
if (IsKeyDown(KEY_E)) camera->rotation++;
camera->zoom += ((float) GetMouseWheelMove() * 0.05f);
}
BeginMode2D(*camera);
ClearBackground(RAYWHITE);
@@ -91,6 +94,10 @@ void render(float dt, Game *game) {
nk_labelf(NK, NK_TEXT_LEFT, "tileX: %d", tileX);
nk_labelf(NK, NK_TEXT_LEFT, "tileY: %d", tileY);
static char buf[256] = {};
nk_edit_string_zero_terminated(NK, NK_EDIT_FIELD, buf, sizeof(buf) - 1, nk_filter_default);
nk_labelf(NK, NK_TEXT_LEFT, "x: %d", sizeX);
nk_labelf(NK, NK_TEXT_LEFT, "y: %d", sizeY);
nk_slider_int(NK, 0, &sizeX, 10, 1);