用函数画个场景示例,场景为蓝天松树鸟飞

"""
用函数画个场景示例,场景为蓝天松树鸟飞
"""

# 导入arcade库
import arcade

# 常量定义
SCREEN_WIDTH = 600
SCREEN_HEIGHT = 600
SCREEN_TITLE = "用函数画个场景示例_译者:李兴球"

def draw_background():
    """
    此函数画背景,2/3屏幕为天空,下面为地面
    """
    # 画矩形
    arcade.draw_lrtb_rectangle_filled(0,
                                      SCREEN_WIDTH,
                                      SCREEN_HEIGHT,
                                      SCREEN_HEIGHT * (1 / 3),
                                      arcade.color.SKY_BLUE)

    # 画矩形
    arcade.draw_lrtb_rectangle_filled(0,
                                      SCREEN_WIDTH,
                                      SCREEN_HEIGHT / 3,
                                      0,
                                      arcade.color.DARK_SPRING_GREEN)


def draw_bird(x, y):
    """
    画两个弧形表示一只鸟
    """
    arcade.draw_arc_outline(x, y, 20, 20, arcade.color.BLACK, 0, 90)
    arcade.draw_arc_outline(x + 40, y, 20, 20, arcade.color.BLACK, 90, 180)


def draw_pine_tree(x, y):
    """
    本函数画颗松树
    """
    # Draw the triangle on top of the trunk
    arcade.draw_triangle_filled(x + 40, y,
                                x, y - 100,
                                x + 80, y - 100,
                                arcade.color.DARK_GREEN)

    # 画树杆,lrtb是left,right,top,bottom,如下:
    # left:	矩形最左边的x坐标
    # right:	矩形最右边的x坐标
    # top:	矩形最上边的y坐标
    # bottom:	矩形最下边的y坐标
    # color:	矩形的颜色
    # border_width:	矩形边框的宽度像素值,默认为1.

    arcade.draw_lrtb_rectangle_filled(x + 30, x + 50, y - 100, y - 140,
                                      arcade.color.DARK_BROWN)


def main():
    """
    This is the main program.
    """

    # 打开一个窗口,参数为宽度高度标题
    arcade.open_window(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_TITLE)
   
    # 开始渲染,它要在所有命令之前
    arcade.start_render()

    # 调用所有的函数
    draw_background()
    draw_pine_tree(50, 250)
    draw_pine_tree(350, 320)
    draw_bird(70, 500)
    draw_bird(470, 550)

    #结束渲染
    arcade.finish_render()

    # 进入游戏循环
    arcade.run()


if __name__ == "__main__":
    main()