基本的雷达扫描动画

你好,请进入Q群:225792826,免费下载本站最新提供的视频教程原创源码资料,从2020年2月20号到3月底,成为本站会员只要原价的3折,即2980元*0.3 = 894元 ,向微信scratch8付款即可成为本站会员。即可拥有本站所有原创资源,并提供技术支持。如本消息修改,以最后时间的为准。

"""
基本的雷达扫描动画
"""

import arcade
import math

# Set up the constants
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600
SCREEN_TITLE = "基本的雷达扫描动画lixingqiu.com"

# 常量定义
CENTER_X = SCREEN_WIDTH // 2
CENTER_Y = SCREEN_HEIGHT // 2
RADIANS_PER_FRAME = 0.02
SWEEP_LENGTH = 250


def on_draw(delta_time):
    """ 使用这个函数画所有的 """

    # 角度增加
    on_draw.angle += RADIANS_PER_FRAME # 每帧所转角度

    # 计算雷达的终点,使用了三角函数
    x = SWEEP_LENGTH * math.sin(on_draw.angle) + CENTER_X
    y = SWEEP_LENGTH * math.cos(on_draw.angle) + CENTER_Y

    # 开始渲染     
    arcade.start_render()

    # 画雷达线
    arcade.draw_line(CENTER_X, CENTER_Y, x, y, arcade.color.OLIVE, 4)

    # 画圆圈
    arcade.draw_circle_outline(CENTER_X, CENTER_Y, SWEEP_LENGTH,
                               arcade.color.DARK_GREEN, 10)


# 给函数增加属性值
on_draw.angle = 0


def main():

    # 打开窗口
    arcade.open_window(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_TITLE)
    arcade.set_background_color(arcade.color.BLACK)

    # 80份之一秒执行一次on_draw
    arcade.schedule(on_draw, 1 / 80)

    # 运行程序
    arcade.run()

    # 按窗口关闭按钮则关闭窗口
    arcade.close_window()


if __name__ == "__main__":
    main()

 

本站所有作品,教程等皆为原创,盗版必究。一旦付款,表示同意本站知识付费原则:数字商品,不支持退款。亦可直接向微信号scratch8付款购买。QQ群免费教学群:225792826 (提供真实姓名可入群)
李兴球的博客_Python创意编程技术前沿 » 基本的雷达扫描动画

学本领,探索更大的世界!

李兴球博客 风火轮编程主页