def on_draw(self): """ Render the screen. """ arcadeplus.start_render() # Draw the y labels i = 0 for y in range(START, END, STEP): arcadeplus.draw_point(0, y, arcadeplus.color.BLUE, 5) arcadeplus.draw_text(f"{y}", 5, y, arcadeplus.color.BLACK, 12, anchor_x="left", anchor_y="bottom") i += 1 # Draw the x labels. i = 1 for x in range(START + STEP, END, STEP): arcadeplus.draw_point(x, 0, arcadeplus.color.BLUE, 5) arcadeplus.draw_text(f"{x}", x, 5, arcadeplus.color.BLACK, 12, anchor_x="left", anchor_y="bottom") i += 1
def on_draw(): arcade.start_render() # Draw in here... # arcade.draw_circle_filled(mouse_x, mouse_y, 25, ball_color) arcade.draw_line(0, HEIGHT / 2, WIDTH, HEIGHT / 2, arcade.color.BLACK) arcade.draw_line(WIDTH / 2, HEIGHT, WIDTH / 2, 0, arcade.color.BLACK) for i in range(WIDTH * 2): arcade.draw_point(i, 0.001 * (i - WIDTH / 2)**2, arcade.color.BLUE, 10)
def on_draw(self): """ Render the screen. """ # This command should happen before we start drawing. It will clear # the screen to the background color, and erase what we drew last frame. arcadeplus.start_render() # start_x and start_y make the start point for the text. # We draw a dot to make it easy too see # the text in relation to its start x and y. start_x = 50 start_y = 450 arcadeplus.draw_point(start_x, start_y, arcadeplus.color.BLUE, 5) arcadeplus.draw_text("Simple line of text in 12 point", start_x, start_y, arcadeplus.color.BLACK, 12)
def graph(): middle_x = WIDTH * 3/4 + 70 middle_y = HEIGHT * 3/4 - 100 length = 500 width = 500 arcade.draw_rectangle_filled(middle_x, middle_y, length, width, arcade.color.WHITE) arcade.draw_line(middle_x - width/2, middle_y - length/2 + 20, middle_x + width/2, middle_y - length/2 + 20, arcade.color.BLACK) arcade.draw_line(middle_x - width/2 + 20, middle_y - length/2, middle_x - width/2 + 20, middle_y + length/2, arcade.color.BLACK) for point in graph_data: arcade.draw_point(point[4] * 3 + middle_x - width/2 + 20, point[0] * 3 + middle_y - length/2 + 20, arcade.color.BLACK, 5) arcade.draw_point(point[4] * 3 + middle_x - width/2 + 20, point[1] * 3 + middle_y - length/2 + 20, arcade.color.RED, 5) arcade.draw_point(point[4] * 3 + middle_x - width/2 + 20, point[2] * 3 + middle_y - length/2 + 20, arcade.color.GRAY, 5) arcade.draw_point(point[4] * 3 + middle_x - width/2 + 20, point[3] * 3 + middle_y - length/2 + 20, arcade.color.YELLOW, 5)
# Start the render process. This must be done before any drawing commands. arcadeplus.start_render() # Draw a grid # Draw vertical lines every 120 pixels for x in range(0, 601, 120): arcadeplus.draw_line(x, 0, x, 600, arcadeplus.color.BLACK, 2) # Draw horizontal lines every 200 pixels for y in range(0, 601, 200): arcadeplus.draw_line(0, y, 800, y, arcadeplus.color.BLACK, 2) # Draw a point arcadeplus.draw_text("draw_point", 3, 405, arcadeplus.color.BLACK, 12) arcadeplus.draw_point(60, 495, arcadeplus.color.RED, 10) # Draw a set of points arcadeplus.draw_text("draw_points", 123, 405, arcadeplus.color.BLACK, 12) point_list = ((165, 495), (165, 480), (165, 465), (195, 495), (195, 480), (195, 465)) arcadeplus.draw_points(point_list, arcadeplus.color.ZAFFRE, 10) # Draw a line arcadeplus.draw_text("draw_line", 243, 405, arcadeplus.color.BLACK, 12) arcadeplus.draw_line(270, 495, 300, 450, arcadeplus.color.WOOD_BROWN, 3) # Draw a set of lines arcadeplus.draw_text("draw_lines", 363, 405, arcadeplus.color.BLACK, 12) point_list = ((390, 450), (450, 450), (390, 480), (450, 480), (390, 510), (450, 510))
def on_draw(self): arcadeplus.start_render() current_x = 20 # First line current_y = SCREEN_HEIGHT - LINE_HEIGHT arcadeplus.draw_text("Test Text", current_x, current_y, arcadeplus.color.BLACK, 12) # Again to test caching current_y -= LINE_HEIGHT arcadeplus.draw_text("Test Text", current_x, current_y, arcadeplus.color.BLACK, 12) current_y -= LINE_HEIGHT arcadeplus.draw_text("Test Text Anchor Left", SCREEN_WIDTH // 2, current_y, arcadeplus.color.BLACK, 12, anchor_x="left") arcadeplus.draw_point(SCREEN_WIDTH // 2, current_y, arcadeplus.color.RED, 5) current_y -= LINE_HEIGHT arcadeplus.draw_text("Test Text Anchor Center", SCREEN_WIDTH // 2, current_y, arcadeplus.color.BLACK, 12, anchor_x="center") arcadeplus.draw_point(SCREEN_WIDTH // 2, current_y, arcadeplus.color.RED, 5) current_y -= LINE_HEIGHT arcadeplus.draw_text("Test Text Anchor Right", SCREEN_WIDTH // 2, current_y, arcadeplus.color.BLACK, 12, anchor_x="right") arcadeplus.draw_point(SCREEN_WIDTH // 2, current_y, arcadeplus.color.RED, 5) current_y -= LINE_HEIGHT arcadeplus.draw_text("Test Text Anchor Top", SCREEN_WIDTH // 2, current_y, arcadeplus.color.BLACK, 12, anchor_y="top") arcadeplus.draw_point(SCREEN_WIDTH // 2, current_y, arcadeplus.color.RED, 5) current_y -= LINE_HEIGHT arcadeplus.draw_text("Test Text Anchor Center", SCREEN_WIDTH // 2, current_y, arcadeplus.color.BLACK, 12, anchor_y="center") arcadeplus.draw_point(SCREEN_WIDTH // 2, current_y, arcadeplus.color.RED, 5) current_y -= LINE_HEIGHT arcadeplus.draw_text("Test Text Anchor Bottom", SCREEN_WIDTH // 2, current_y, arcadeplus.color.BLACK, 12, anchor_y="bottom") arcadeplus.draw_point(SCREEN_WIDTH // 2, current_y, arcadeplus.color.RED, 5) field_width = SCREEN_WIDTH current_y -= LINE_HEIGHT arcadeplus.draw_text(f"Test Text Field Width {field_width}", current_x, current_y, arcadeplus.color.BLACK, 12, font_name="arial", width=field_width) current_y -= LINE_HEIGHT arcadeplus.draw_text(f"Centered Test Text Field Width {field_width}", current_x, current_y, arcadeplus.color.BLACK, 12, font_name="arial", width=field_width, align="center") current_y -= LINE_HEIGHT font_name = "comic" arcadeplus.draw_text("Different font", current_x, current_y, arcadeplus.color.BLACK, 12, font_name=font_name) current_y -= LINE_HEIGHT # noinspection PyDeprecation text = arcadeplus.create_text("Create text", arcadeplus.color.BLACK) # noinspection PyDeprecation arcadeplus.render_text(text, current_x, current_y)
def on_draw(self): """ Render the screen. """ # Start the render process. This must be done before any drawing commands. arcadeplus.start_render() # Draw a grid # Draw vertical lines every 120 pixels for x in range(0, 601, 120): arcadeplus.draw_line(x, 0, x, 600, arcadeplus.color.BLACK, 2) # Draw horizontal lines every 200 pixels for y in range(0, 601, 200): arcadeplus.draw_line(0, y, 800, y, arcadeplus.color.BLACK, 2) # Draw a point arcadeplus.draw_text("draw_point", 3, 405, arcadeplus.color.BLACK, 12) arcadeplus.draw_point(60, 495, arcadeplus.color.RED, 10) # Draw a set of points arcadeplus.draw_text("draw_points", 123, 405, arcadeplus.color.BLACK, 12) point_list = ((165, 495), (165, 480), (165, 465), (195, 495), (195, 480), (195, 465)) arcadeplus.draw_points(point_list, arcadeplus.color.ZAFFRE, 10) # Draw a line arcadeplus.draw_text("draw_line", 243, 405, arcadeplus.color.BLACK, 12) arcadeplus.draw_line(270, 495, 300, 450, arcadeplus.color.WOOD_BROWN, 3) # Draw a set of lines arcadeplus.draw_text("draw_lines", 363, 405, arcadeplus.color.BLACK, 12) point_list = ((390, 450), (450, 450), (390, 480), (450, 480), (390, 510), (450, 510)) arcadeplus.draw_lines(point_list, arcadeplus.color.BLUE, 3) # Draw a line strip arcadeplus.draw_text("draw_line_strip", 483, 405, arcadeplus.color.BLACK, 12) point_list = ((510, 450), (570, 450), (510, 480), (570, 480), (510, 510), (570, 510)) arcadeplus.draw_line_strip(point_list, arcadeplus.color.TROPICAL_RAIN_FOREST, 3) arcadeplus.draw_line_strip(point_list, arcadeplus.color.BEIGE) # Draw a polygon arcadeplus.draw_text("draw_polygon_outline", 3, 207, arcadeplus.color.BLACK, 9) point_list = ((30, 240), (45, 240), (60, 255), (60, 285), (45, 300), (30, 300)) arcadeplus.draw_polygon_outline(point_list, arcadeplus.color.SPANISH_VIOLET, 3) # Draw a filled in polygon arcadeplus.draw_text("draw_polygon_filled", 123, 207, arcadeplus.color.BLACK, 9) point_list = ((150, 240), (165, 240), (180, 255), (180, 285), (165, 300), (150, 300)) arcadeplus.draw_polygon_filled(point_list, arcadeplus.color.SPANISH_VIOLET) # Draw an outline of a circle arcadeplus.draw_text("draw_circle_outline", 243, 207, arcadeplus.color.BLACK, 10) arcadeplus.draw_circle_outline(300, 285, 18, arcadeplus.color.WISTERIA, 3) arcadeplus.draw_circle_outline(350, 285, 18, arcadeplus.color.WISTERIA) # Draw a filled in circle arcadeplus.draw_text("draw_circle_filled", 363, 207, arcadeplus.color.BLACK, 10) arcadeplus.draw_circle_filled(420, 285, 18, arcadeplus.color.GREEN) # Draw an ellipse outline, and another one rotated arcadeplus.draw_text("draw_ellipse_outline", 483, 207, arcadeplus.color.BLACK, 10) arcadeplus.draw_ellipse_outline(540, 273, 15, 36, arcadeplus.color.AMBER, 3) arcadeplus.draw_ellipse_outline(540, 336, 15, 36, arcadeplus.color.BLACK_BEAN, 3, 45) # Draw a filled ellipse, and another one rotated arcadeplus.draw_text("draw_ellipse_filled", 3, 3, arcadeplus.color.BLACK, 10) arcadeplus.draw_ellipse_filled(60, 81, 15, 36, arcadeplus.color.AMBER) arcadeplus.draw_ellipse_filled(60, 144, 15, 36, arcadeplus.color.BLACK_BEAN, 45) # Draw an arc, and another one rotated arcadeplus.draw_text("draw_arc/filled_arc", 123, 3, arcadeplus.color.BLACK, 10) arcadeplus.draw_arc_outline(150, 81, 15, 36, arcadeplus.color.BRIGHT_MAROON, 90, 360) arcadeplus.draw_arc_filled(150, 144, 15, 36, arcadeplus.color.BOTTLE_GREEN, 90, 360, 45) # Draw an rectangle outline arcadeplus.draw_text("draw_rect", 243, 3, arcadeplus.color.BLACK, 10) arcadeplus.draw_rectangle_outline( 295, 100, 45, 65, arcadeplus.color.BRITISH_RACING_GREEN) arcadeplus.draw_rectangle_outline( 295, 160, 20, 45, arcadeplus.color.BRITISH_RACING_GREEN, 3, 45) # Draw a filled in rectangle arcadeplus.draw_text("draw_filled_rect", 363, 3, arcadeplus.color.BLACK, 10) arcadeplus.draw_rectangle_filled(420, 100, 45, 65, arcadeplus.color.BLUSH) arcadeplus.draw_rectangle_filled(420, 160, 20, 40, arcadeplus.color.BLUSH, 45) # Load and draw an image to the screen # Image from kenney.nl asset pack #1 arcadeplus.draw_text("draw_bitmap", 483, 3, arcadeplus.color.BLACK, 12) texture = arcadeplus.load_texture( ":resources:images/space_shooter/playerShip1_orange.png") scale = .6 # arcadeplus.draw_texture_rectangle(540, 120, scale * texture.width, # scale * texture.height, texture, 0) # arcadeplus.draw_texture_rectangle(540, 60, scale * texture.width, # scale * texture.height, texture, 45) # # Overlapping, with transparency test # Draw arcadeplus.draw_rectangle_filled(650, 100, 50, 50, (255, 0, 0)) arcadeplus.draw_rectangle_filled(670, 100, 50, 50, (0, 255, 0, 127)) # Test colors color = arcadeplus.get_pixel(635, 100) assert color == (255, 0, 0) color = arcadeplus.get_pixel(670, 100) assert color == (128, 127, 0) color = arcadeplus.get_pixel(690, 100) assert color == (128, 255, 128) # Test this other thing color = arcadeplus.get_pixel(100, 100) assert color == (255, 255, 255) # Run the get image. Ideally we'd test the output arcadeplus.get_image()
def on_draw(self): """ Render the screen. """ # This command should happen before we start drawing. It will clear # the screen to the background color, and erase what we drew last frame. arcadeplus.start_render() # start_x and start_y make the start point for the text. We draw a dot to make it easy too see # the text in relation to its start x and y. start_x = 50 start_y = 450 arcadeplus.draw_point(start_x, start_y, arcadeplus.color.BLUE, 5) arcadeplus.draw_text("Simple line of text in 12 point", start_x, start_y, arcadeplus.color.BLACK, 12) start_x = 50 start_y = 150 arcadeplus.draw_point(start_x, start_y, arcadeplus.color.BLUE, 5) arcadeplus.draw_text("Garamond Text", start_x, start_y, arcadeplus.color.BLACK, 15, font_name='GARA') start_x = 50 start_y = 400 arcadeplus.draw_point(start_x, start_y, arcadeplus.color.BLUE, 5) arcadeplus.draw_text("Text anchored 'top' and 'left'.", start_x, start_y, arcadeplus.color.BLACK, 12, anchor_x="left", anchor_y="top") start_y = 350 arcadeplus.draw_point(start_x, start_y, arcadeplus.color.BLUE, 5) arcadeplus.draw_text("14 point multi\nline\ntext", start_x, start_y, arcadeplus.color.BLACK, 14, anchor_y="top") start_y = 450 start_x = 300 width = 200 height = 20 arcadeplus.draw_point(start_x, start_y, arcadeplus.color.BLUE, 5) arcadeplus.draw_lrtb_rectangle_outline(start_x, start_x + width, start_y + height, start_y, arcadeplus.color.BLUE, 1) arcadeplus.draw_text("Centered Text.", start_x, start_y, arcadeplus.color.BLACK, 14, width=200, align="center") start_y = 250 start_x = 300 arcadeplus.draw_point(start_x, start_y, arcadeplus.color.BLUE, 5) arcadeplus.draw_text("Text centered on\na point", start_x, start_y, arcadeplus.color.BLACK, 14, width=200, align="center", anchor_x="center", anchor_y="center") start_y = 150 start_x = 300 arcadeplus.draw_point(start_x, start_y, arcadeplus.color.BLUE, 5) arcadeplus.draw_text("Text rotated on\na point", start_x, start_y, arcadeplus.color.BLACK, 14, width=200, align="center", anchor_x="center", anchor_y="center", rotation=self.text_angle) start_y = 150 start_x = 20 arcadeplus.draw_point(start_x, start_y, arcadeplus.color.BLUE, 5) arcadeplus.draw_text("Sideways text", start_x, start_y, arcadeplus.color.BLACK, 14, width=200, align="center", anchor_x="center", anchor_y="center", rotation=90.0) start_y = 20 start_x = 50 arcadeplus.draw_point(start_x, start_y, arcadeplus.color.BLUE, 5) arcadeplus.draw_text(f"Time elapsed: {self.time_elapsed:7.1f}", start_x, start_y, arcadeplus.color.BLACK, 14)