added texures srcrec dstrec example (#93)
added scarfy.png file made texures_srcrec_dstrec.py stand to the Python API conventions(https://github.com/sDos280/raylib-python-cffi/blob/Conventions/PYTHON_API_CONVENTIONS.md)
This commit is contained in:
parent
2061585311
commit
7bfd7d2ea6
2 changed files with 81 additions and 0 deletions
BIN
examples/textures/resources/scarfy.png
Normal file
BIN
examples/textures/resources/scarfy.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
81
examples/textures/texures_srcrec_dstrec.py
Normal file
81
examples/textures/texures_srcrec_dstrec.py
Normal file
|
@ -0,0 +1,81 @@
|
|||
"""
|
||||
|
||||
raylib [textures] example - Texture source and destination rectangles
|
||||
|
||||
"""
|
||||
|
||||
# Import
|
||||
# ------------------------------------------------------------------------------------
|
||||
from pyray import *
|
||||
# ------------------------------------------------------------------------------------
|
||||
|
||||
# ------------------------------------------------------------------------------------
|
||||
# Program main entry point
|
||||
# ------------------------------------------------------------------------------------
|
||||
def main():
|
||||
# Initialization
|
||||
# ------------------------------------------------------------------------------------
|
||||
SCREEN_WIDTH = 800
|
||||
SCREEN_HEIGHT = 450
|
||||
|
||||
init_window(SCREEN_WIDTH, SCREEN_HEIGHT, "raylib [textures] examples - texture source and destination rectangles")
|
||||
|
||||
# NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required)
|
||||
|
||||
scarfy = load_texture("resources/scarfy.png") # Texture loading
|
||||
|
||||
frame_width = scarfy.width / 6
|
||||
frame_height = scarfy.height
|
||||
|
||||
# Source rectangle (part of the texture to use for drawing)
|
||||
source_rec = Rectangle(0, 0, frame_width, frame_height)
|
||||
|
||||
# Destination rectangle (screen rectangle where drawing part of texture)
|
||||
dest_rec = Rectangle(SCREEN_WIDTH/2, SCREEN_HEIGHT/2, frame_width*2, frame_height*2)
|
||||
|
||||
# Origin of the texture (rotation/scale point), it's relative to destination rectangle size
|
||||
origin = Vector2(frame_width, frame_height)
|
||||
|
||||
rotation = 0
|
||||
|
||||
set_target_fps(60) # Set our game to run at 60 frames-per-second
|
||||
# ------------------------------------------------------------------------------------
|
||||
|
||||
# Main game loop
|
||||
while not window_should_close(): # Detect window close button or ESC key
|
||||
# Update
|
||||
# ----------------------------------------------------------------------------------
|
||||
rotation += 1
|
||||
# ----------------------------------------------------------------------------------
|
||||
|
||||
# Draw
|
||||
# ----------------------------------------------------------------------------------
|
||||
begin_drawing()
|
||||
|
||||
clear_background(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)
|
||||
|
||||
draw_texture_pro(scarfy, source_rec, dest_rec, origin, rotation, WHITE)
|
||||
|
||||
draw_line(int(dest_rec.x), 0, int(dest_rec.x), SCREEN_HEIGHT, GRAY)
|
||||
draw_line(0, int(dest_rec.y), SCREEN_WIDTH, int(dest_rec.y), GRAY)
|
||||
|
||||
draw_text("(c) Scarfy sprite by Eiden Marsal", SCREEN_WIDTH - 200, SCREEN_HEIGHT - 20, 10, GRAY)
|
||||
|
||||
end_drawing()
|
||||
# ----------------------------------------------------------------------------------
|
||||
|
||||
# De-Initialization
|
||||
# ----------------------------------------------------------------------------------
|
||||
close_window() # Close window and OpenGL context
|
||||
# ----------------------------------------------------------------------------------
|
||||
|
||||
|
||||
# Execute the main function
|
||||
if __name__ == '__main__':
|
||||
main()
|
Reference in a new issue