From f03f093909ec899eecbc298063afd2ca37ce6b07 Mon Sep 17 00:00:00 2001 From: Jeffery Myers Date: Fri, 25 Oct 2024 00:47:04 -0700 Subject: [PATCH] Add input_virtual_controls to MSVC projects (#4433) Fix input_virtual_controls example to use correct default font sizes --- examples/core/core_input_virtual_controls.c | 22 +++++++++--------- examples/core/core_input_virtual_controls.png | Bin 9604 -> 9094 bytes projects/VS2022/raylib.sln | 19 +++++++++++++++ 3 files changed, 30 insertions(+), 11 deletions(-) diff --git a/examples/core/core_input_virtual_controls.c b/examples/core/core_input_virtual_controls.c index ae7f770aa..2d2b91e67 100644 --- a/examples/core/core_input_virtual_controls.c +++ b/examples/core/core_input_virtual_controls.c @@ -54,8 +54,8 @@ int main(void) // Main game loop while (!WindowShouldClose()) // Detect window close button or ESC key { - // Update - //-------------------------------------------------------------------------- + // Update + //-------------------------------------------------------------------------- dpadKeydown = -1; //reset float inputX=0; float inputY=0; @@ -89,10 +89,9 @@ int main(void) case 3: playerY += 50*GetFrameTime(); default:; }; - //-------------------------------------------------------------------------- - - // Draw - //-------------------------------------------------------------------------- + //-------------------------------------------------------------------------- + // Draw + //-------------------------------------------------------------------------- BeginDrawing(); ClearBackground(RAYWHITE); for(int i=0;i<4;i++) @@ -103,14 +102,15 @@ int main(void) { //draw label DrawText(TextSubtext(dpadLabel,i,1), - dpadCollider[i][0]-5, - dpadCollider[i][1]-5,16,BLACK); + dpadCollider[i][0]-7, + dpadCollider[i][1]-8,20,BLACK); } - } - DrawText("Player",playerX,playerY,16,BLACK); + + DrawRectangle(playerX-4,playerY-4,75,28,RED); + DrawText("Player",playerX,playerY,20,WHITE); EndDrawing(); - //-------------------------------------------------------------------------- + //-------------------------------------------------------------------------- } // De-Initialization diff --git a/examples/core/core_input_virtual_controls.png b/examples/core/core_input_virtual_controls.png index a9776e68a3dfdd01f5b8afc51859ace27a150622..cb1444598017b9d7ff83480f66909c8523ece519 100644 GIT binary patch literal 9094 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 literal 9604 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 NdAj