Fix nuklear input processing
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
21
game/main.c
21
game/main.c
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user