Skip to content

Python Arcade

Arcade APIs

  • arcade
    • AnimatedTimeBasedSprite
    • AnimatedWalkingSprite
    • AnimationKeyframe
    • ArcadeContext
    • are_polygons_intersecting
    • astar_calculate_path
    • AStarBarrierList
    • AtlasRegion
    • calculate_hit_box_points_detailed
    • calculate_hit_box_points_simple
    • Camera
    • check_for_collision
    • check_for_collision_with_list
    • check_for_collision_with_lists
    • clamp
    • cleanup_texture_cache
    • clear_timings
    • close_window
    • color_from_hex_string
    • configure_logging
    • create_ellipse
    • create_ellipse_filled
    • create_ellipse_filled_with_colors
    • create_ellipse_outline
    • create_isometric_grid_lines
    • create_line
    • create_line_generic
    • create_line_generic_with_colors
    • create_line_loop
    • create_line_strip
    • create_lines
    • create_lines_with_colors
    • create_orthogonal_projection
    • create_polygon
    • create_rectangle
    • create_rectangle_filled
    • create_rectangle_filled_with_colors
    • create_rectangle_outline
    • create_rectangles_filled_with_colors
    • create_text
    • create_text_image
    • create_text_sprite
    • create_triangles_filled_with_colors
    • disable_timings
    • draw_arc_filled
    • draw_arc_outline
    • draw_circle_filled
    • draw_circle_outline
    • draw_ellipse_filled
    • draw_ellipse_outline
    • draw_line
    • draw_line_strip
    • draw_lines
    • draw_lrtb_rectangle_filled
    • draw_lrtb_rectangle_outline
    • draw_lrwh_rectangle_textured
    • draw_parabola_filled
    • draw_parabola_outline
    • draw_point
    • draw_points
    • draw_polygon_filled
    • draw_polygon_outline
    • draw_rectangle_filled
    • draw_rectangle_outline
    • draw_scaled_texture_rectangle
    • draw_text
    • draw_texture_rectangle
    • draw_triangle_filled
    • draw_triangle_outline
    • draw_xywh_rectangle_filled
    • draw_xywh_rectangle_outline
    • earclip
    • EmitBurst
    • EmitController
    • EmitInterval
    • EmitMaintainCount
    • Emitter
    • EmitterIntervalWithCount
    • EmitterIntervalWithTime
    • enable_timings
    • EternalParticle
    • exit
    • FadeParticle
    • finish_render
    • float_to_byte_color
    • generate_uuid_from_kwargs
    • get_closest_sprite
    • get_display_size
    • get_distance
    • get_distance_between_sprites
    • get_four_byte_color
    • get_four_float_color
    • get_fps
    • get_game_controllers
    • get_image
    • get_joysticks
    • get_pixel
    • get_points_for_thick_line
    • get_projection
    • get_rectangle_points
    • get_scaling_factor
    • get_screens
    • get_sprites_at_exact_point
    • get_sprites_at_point
    • get_three_float_color
    • get_timings
    • get_viewport
    • get_window
    • has_line_of_sight
    • is_point_in_polygon
    • isometric_grid_to_screen
    • lerp
    • lerp_vec
    • LifetimeParticle
    • load_animated_gif
    • load_font
    • load_sound
    • load_spritesheet
    • load_texture
    • load_texture_pair
    • load_textures
    • make_burst_emitter
    • make_circle_texture
    • make_interval_emitter
    • make_soft_circle_texture
    • make_soft_square_texture
    • make_transparent_color
    • NoOpenGLException
    • open_window
    • Particle
    • pause
    • PerfGraph
    • PhysicsEnginePlatformer
    • PhysicsEngineSimple
    • play_sound
    • print_timings
    • PyMunk
    • PymunkException
    • PymunkPhysicsEngine
    • PymunkPhysicsObject
    • quick_run
    • rand_angle_360_deg
    • rand_angle_spread_deg
    • rand_in_circle
    • rand_in_rect
    • rand_on_circle
    • rand_on_line
    • rand_vec_magnitude
    • rand_vec_spread_deg
    • rotate_point
    • run
    • Scene
    • schedule
    • screen_to_isometric_grid
    • set_background_color
    • set_viewport
    • set_window
    • Shape
    • ShapeElementList
    • Sound
    • Sprite
    • SpriteCircle
    • SpriteList
    • SpriteSolidColor
    • start_render
    • stop_sound
    • Text
    • Texture
    • TextureAtlas
    • TiledObject
    • timings_enabled
    • trim_image
    • uint24_to_three_byte_color
    • uint32_to_four_byte_color
    • unschedule
    • View
    • Window
  • arcade.gui
    • Surface
    • UIAnchorWidget
    • UIBorder
    • UIBoxLayout
    • UIDraggableMixin
    • UIDummy
    • UIEvent
    • UIFlatButton
    • UIInputText
    • UIInteractiveWidget
    • UIKeyEvent
    • UIKeyPressEvent
    • UIKeyReleaseEvent
    • UILabel
    • UILayout
    • UIManager
    • UIMessageBox
    • UIMouseDragEvent
    • UIMouseEvent
    • UIMouseFilterMixin
    • UIMouseMovementEvent
    • UIMousePressEvent
    • UIMouseReleaseEvent
    • UIMouseScrollEvent
    • UIOnChangeEvent
    • UIOnClickEvent
    • UIOnUpdateEvent
    • UIPadding
    • UISpace
    • UISpriteWidget
    • UITextArea
    • UITextEvent
    • UITextMotionEvent
    • UITextMotionSelectEvent
    • UITextureButton
    • UITexturePane
    • UIWidget
    • UIWidgetParent
    • UIWindowLikeMixin
    • UIWrapper
  • arcade.tilemap
    • TileMap
    • load_tilemap
    • read_tmx

Easy to use Python library for creating 2D arcade games.

Categories

APIs

Libraries

Examples

Change frame rate

set_update_rate(1/60)

Get display size

width, height = arcade.window_commands.get_display_size()

Elapsed Timer

from typing import Optional
from overrides import overrides
from arcade import Window, View, set_background_color, set_viewport, draw_text
from arcade.csscolor import DARK_SLATE_BLUE
from arcade.color import WHITE


class SplashView(View):
    def __init__(self, window: Optional[Window] = None):
        super().__init__(window)
        self.elapsed_time = 0.0
        self.output = ""

    @overrides
    def on_show(self):
        set_background_color(DARK_SLATE_BLUE)
        set_viewport(0, self.window.width, 0, self.window.height)

    @overrides
    def on_update(self, delta_time: float):
        self.elapsed_time += delta_time

        # Calculate minutes
        minutes = int(self.elapsed_time) // 60

        # Calculate seconds by using a modulus (remainder)
        seconds = int(self.elapsed_time) % 60

        # Calculate 100s of a second
        seconds_100s = int((self.elapsed_time - seconds) * 100)

        # Figure out our output
        self.output = f"{minutes:02d}:{seconds:02d}:{seconds_100s:02d}"

    @overrides
    def on_draw(self):
        self.clear()
        draw_text(self.output, 10, 20, WHITE, 100)

See also

Favorite site

Tutorials