Skip to content
Related Articles

Related Articles

Improve Article

How to show a timer on screen using arcade in Python3?

  • Difficulty Level : Expert
  • 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

Python3




import arcade

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):
  
    # Start the render.
    arcade.start_render()
  
    # Calculate minutes
    minutes = int(self.total_time) // 60
  
    # Calculate seconds by using a modulus
    seconds = int(self.total_time) % 60
  
    # Figure out your output
    output = f"Time: {minutes:02d}:{seconds:02d}"
  
    # Output the timer text.
    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 module
import arcade
  
# screen parameters
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600
SCREEN_TITLE = "Timer "
  
# define class
  
  
class MyTimer(arcade.Window):
  
    def setup(self):
        arcade.set_background_color(arcade.color.WHITE)
        self.total_time = 0.0
  
    def on_draw(self):
  
        # Start the render.
        arcade.start_render()
  
        # Calculate minutes
        minutes = int(self.total_time) // 60
  
        # Calculate seconds by using a modulus
        seconds = int(self.total_time) % 60
  
        # Figure out your output
        output = f"Time: {minutes:02d}:{seconds:02d}"
  
        # Output the timer text.
        arcade.draw_text(output, 300, 300, arcade.color.BOTTLE_GREEN, 45)
  
    # update
    def on_update(self, delta_time):
        self.total_time += delta_time
  
# main function
def main():
    window = MyTimer()
    window.setup()
    arcade.run()
  
  
# call main function
main()

Output:

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course




My Personal Notes arrow_drop_up
Recommended Articles
Page :