diff options
| author | Ray <[email protected]> | 2016-10-16 18:24:13 +0200 |
|---|---|---|
| committer | GitHub <[email protected]> | 2016-10-16 18:24:13 +0200 |
| commit | a9315fc422a3a036891f50f0c2be5059c3db8b31 (patch) | |
| tree | 9f5213dac656079e2163bc5d091200dc837672b8 /examples/textures_srcrec_dstrec.lua | |
| parent | 53056f3e7e84e18b8ebfc4a2ab2f7f1fbe7ae36c (diff) | |
| parent | 1c05017548ea21dd1a44c31e9fc80b8700891f11 (diff) | |
| download | raylib-a9315fc422a3a036891f50f0c2be5059c3db8b31.tar.gz raylib-a9315fc422a3a036891f50f0c2be5059c3db8b31.zip | |
Merge pull request #189 from raysan5/develop
Develop branch integration
Diffstat (limited to 'examples/textures_srcrec_dstrec.lua')
| -rw-r--r-- | examples/textures_srcrec_dstrec.lua | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/examples/textures_srcrec_dstrec.lua b/examples/textures_srcrec_dstrec.lua new file mode 100644 index 00000000..f94deb3e --- /dev/null +++ b/examples/textures_srcrec_dstrec.lua @@ -0,0 +1,71 @@ +------------------------------------------------------------------------------------------- +-- +-- raylib [textures] example - Texture source and destination rectangles +-- +-- This example has been created using raylib 1.6 (www.raylib.com) +-- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +-- +-- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +-- +------------------------------------------------------------------------------------------- + +-- Initialization +------------------------------------------------------------------------------------------- +local screenWidth = 800 +local screenHeight = 450 + +InitWindow(screenWidth, screenHeight, "raylib [textures] examples - texture source and destination rectangles") + +-- NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) +local guybrush = LoadTexture("resources/guybrush.png") -- Texture loading + +local frameWidth = guybrush.width/7 +local frameHeight = guybrush.height + +-- NOTE: Source rectangle (part of the texture to use for drawing) +local sourceRec = Rectangle(0, 0, frameWidth, frameHeight) + +-- NOTE: Destination rectangle (screen rectangle where drawing part of texture) +local destRec = Rectangle(screenWidth/2, screenHeight/2, frameWidth*2, frameHeight*2) + +-- NOTE: Origin of the texture (rotation/scale point), it's relative to destination rectangle size +local origin = Vector2(frameWidth, frameHeight) + +local rotation = 0 + +SetTargetFPS(60) +------------------------------------------------------------------------------------------- + +-- Main game loop +while not WindowShouldClose() do -- Detect window close button or ESC key + -- Update + --------------------------------------------------------------------------------------- + rotation = rotation + 1 + --------------------------------------------------------------------------------------- + + -- Draw + --------------------------------------------------------------------------------------- + BeginDrawing() + + ClearBackground(RAYWHITE) + + -- NOTE: Using DrawTexturePro() we can easily rotate and scale the part of the texture we draw + -- sourceRec defines the part of the texture we use for drawing + -- destRec defines the rectangle where our texture part will fit (scaling it to fit) + -- origin defines the point of the texture used as reference for rotation and scaling + -- rotation defines the texture rotation (using origin as rotation point) + DrawTexturePro(guybrush, sourceRec, destRec, origin, rotation, WHITE) + + DrawLine(destRec.x, 0, destRec.x, screenHeight, GRAY) + DrawLine(0, destRec.y, screenWidth, destRec.y, GRAY) + + EndDrawing() + --------------------------------------------------------------------------------------- +end + +-- De-Initialization +------------------------------------------------------------------------------------------- +UnloadTexture(guybrush) -- Texture unloading + +CloseWindow() -- Close window and OpenGL context +-------------------------------------------------------------------------------------------
\ No newline at end of file |
