PYGLET – Shape Rotation
Last Updated :
27 Aug, 2021
In this article we will see how we can access the rotation of the shape in PYGLET module in python. Pyglet is easy to use but powerful library for developing visually rich GUI applications like games, multimedia etc. A window is a “heavyweight” object occupying operating system resources. Windows may appear as floating regions or can be set to fill an entire screen (fullscreen). A shape is the form of an object or its external boundary, outline, or external surface, as opposed to other properties such as color, texture or material type. Many shapes are drawn with the help of shapes module of pyglet. A rotation is a circular movement of an object around a center of rotation. A three-dimensional object can always be rotated about an infinite number of imaginary lines called rotation axes. If the axis passes through the body’s center of mass, the body is said to rotate upon itself, or spin.
We can create a window with the help of command given below
# creating a window
window = pyglet.window.Window(width, height, title)
In order to create window we use rotation attribute with the shape
Syntax : shape.rotation
Argument : It takes no argument
Return : It returns int or float
Note : Shape like circle don’t have rotation property
Below is the implementation
Python3
import pyglet
from pyglet import shapes
width = 500
height = 500
title = "Geeksforgeeks"
window = pyglet.window.Window(width, height, title)
batch = pyglet.graphics.Batch()
co_x = 150
co_y = 150
width = 250
height = 150
color = ( 50 , 225 , 30 )
rec = shapes.Rectangle(co_x, co_y, width, height, color = color, batch = batch)
rec.opacity = 180
color = ( 255 , 25 , 25 )
circle_x = 200
circle_y = 300
size_circle = 100
circle = shapes.Circle(circle_x, circle_y, size_circle, color = ( 250 , 22 , 30 ), batch = batch)
circle.opacity = 170
@window .event
def on_draw():
window.clear()
batch.draw()
rec.rotation = 45
pyglet.app.run()
|
Output :
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...