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
|
// Mouse Wheel
|
||||||
float mouseWheel = GetMouseWheelMove();
|
float mouseWheel = GetMouseWheelMove();
|
||||||
if (mouseWheel != 0.0f) {
|
if (mouseWheel != 0.0f) {
|
||||||
struct nk_vec2 mouseWheelMove;
|
if (nk_input_is_mouse_hovering_rect(&ctx->input, ctx->active->bounds)) {
|
||||||
mouseWheelMove.x = 0.0f;
|
struct nk_vec2 mouseWheelMove;
|
||||||
mouseWheelMove.y = mouseWheel;
|
mouseWheelMove.x = 0.0f;
|
||||||
nk_input_scroll(ctx, mouseWheelMove);
|
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) {
|
void render(float dt, Game *game) {
|
||||||
Camera2D *camera = &game->camera;
|
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 (!nk_item_is_any_active(NK)) {
|
||||||
if (IsKeyDown(KEY_E)) camera->rotation++;
|
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);
|
BeginMode2D(*camera);
|
||||||
ClearBackground(RAYWHITE);
|
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, "tileX: %d", tileX);
|
||||||
nk_labelf(NK, NK_TEXT_LEFT, "tileY: %d", tileY);
|
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, "x: %d", sizeX);
|
||||||
nk_labelf(NK, NK_TEXT_LEFT, "y: %d", sizeY);
|
nk_labelf(NK, NK_TEXT_LEFT, "y: %d", sizeY);
|
||||||
nk_slider_int(NK, 0, &sizeX, 10, 1);
|
nk_slider_int(NK, 0, &sizeX, 10, 1);
|
||||||
|
|||||||
Reference in New Issue
Block a user