猫史档案馆


【Python作品分享】RADAR【教程贴】

用户:隐姓埋名的sui隐姓埋名的sui查看:0 回复:2 评论:0 创建时间:2021-06-13T16:22:56


【作品展示】

center_image

 

【作品介绍】

这个作品是一个雷达模拟器~

可能有些粗糙~~

左右键(↔️)控制雷达~

祝你玩的愉快!

:)

 

【作品源代码】

from arcade import*
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600
SCREEN_TITLE = "THE RA🔊AR process"


class MyRadar(arcade.Window):
    def __init__(self, width, height, title):
        super().__init__(width, height, title)
        # begins
        self.setup()

    def setup(self):
        set_background_color(color.MIDNIGHT_GREEN)
        self.angle = 0
        self.change_angle = 0

    def on_draw(self):
        start_render()
        self.draw_radar()
    
    def on_update(self, delta_time):
        self.angle += self.change_angle

    def on_key_press(self, symbol,modifiers):
        if symbol == key.LEFT:
            self.change_angle = -1
        elif symbol == key.RIGHT:
            self.change_angle = 1
    def on_key_release(self, symbol, modifiers):
        if symbol == key.LEFT or symbol == key.RIGHT:
            self.change_angle = 0
    def draw_radar(self):
        ox, oy = SCREEN_WIDTH // 2, SCREEN_HEIGHT // 2
        ax, ay = ox - 25, oy - 80
        bx, by = ox, oy - 80
        cx, cy = ox + 25, oy - 80
        R = 50
        dx, dy = ox + R * math.sin(math.radians(self.angle)), oy + R * math.cos(math.radians(self.angle))
        draw_line(ox, oy, bx, by, color.MIDNIGHT_BLUE, 5)
        draw_line(ax, ay, cx, cy, color.MIDNIGHT_BLUE, 5)
        draw_ellipse_filled(ox, oy, 50, 20, color.MIDNIGHT_BLUE, 180 - self.angle)
        draw_line(ox, oy, dx, dy, color.MIDNIGHT_BLUE, 5)


if __name__ == '__main__':
    game = MyRadar(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_TITLE)
    run()

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
隐姓埋名的sui隐姓埋名的sui

注意⚠️!

这个作品是用了arcade2.0.9 库

点赞0


评论


Python-happyyyyPython-happyyyy

可以可以emotion_编程猫_加油

点赞0


评论