How to show a timer on screen using arcade in Python3?
Last Updated :
20 Oct, 2020
Prerequisite: Arcade library
Arcade is a modern framework, which is used to make 2D video games. In this, article, you will learn how to show an on-screen timer using the arcade module of Python. Displaying a timer on screen is not tough job, just follow the below steps:-
Step 1: First of all import the arcade module of Python
Step 2: Define parameters necessary for the output screen.
Python3
WIDTH = 800
HEIGHT = 600
TITLE = "Timer"
|
Step 3: Define a class MYTimer and under that class, set the background color and starting time.
Python3
class MyTimer(arcade.Window):
def setup( self ):
arcade.set_background_color(arcade.color.WHITE)
self .total_time = 0.0
|
Step 4: Under MyTimer class, define one function to calculate the minutes and seconds.
Python3
def on_draw( self ):
arcade.start_render()
minutes = int ( self .total_time) / / 60
seconds = int ( self .total_time) % 60
output = f "Time: {minutes:02d}:{seconds:02d}"
arcade.draw_text(output, 300 , 300 , arcade.color.BOTTLE_GREEN, 45 )
|
Step 5: Now, define an on_update function to update time with each increasing minutes and seconds.
Python3
def on_update( self , delta_time):
self .total_time + = delta_time
|
Step 6: Last and foremost step is to define main() and call it in the end.
Python3
def main():
window = MyTimer()
window.setup()
arcade.run()
main()
|
Complete code
Python3
import arcade
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600
SCREEN_TITLE = "Timer "
class MyTimer(arcade.Window):
def setup( self ):
arcade.set_background_color(arcade.color.WHITE)
self .total_time = 0.0
def on_draw( self ):
arcade.start_render()
minutes = int ( self .total_time) / / 60
seconds = int ( self .total_time) % 60
output = f "Time: {minutes:02d}:{seconds:02d}"
arcade.draw_text(output, 300 , 300 , arcade.color.BOTTLE_GREEN, 45 )
def on_update( self , delta_time):
self .total_time + = delta_time
def main():
window = MyTimer()
window.setup()
arcade.run()
main()
|
Output:
Please Login to comment...