牵引憨憨的小海龟

如本文章标有价格,需议价或其它事情商议请加微信scratch8

李兴球Python牵引憨憨的小海龟

"""
   牵引憨憨的小海龟.py
"""
import turtle                          # 导入海龟模块
def mouse_position(screen):
    """获取鼠标指针的坐标"""
    
    root = screen._root                # 获取根窗口对象
    cv = screen._canvas                # 获取画布
    
    x = root.winfo_pointerx()          # 鼠标指针相对于计算机屏幕的x坐标
    y = root.winfo_pointery()          # 鼠标指针相对于计算机屏幕的y坐标

    rx = cv.winfo_rootx()              # 画布到计算机屏幕最左边距离
    ry = cv.winfo_rooty()              # 画布到计算机屏幕最上边距离 
    x = x - rx - 2                     # 画布边框宽度是2,所以要减去2
    y = y - ry - 2
    
    x = x - screen.window_width() //2  # 转换成在海龟画图坐标系中x坐标
    y = screen.window_height() //2 - y # 转换成在海龟画图坐标系中y坐标

    return x,y

screen = turtle.Screen()               # 新建屏幕对象

t = turtle.Turtle('turtle')            # 新建海龟对象
t.shapesize(5)
t.speed(0)                             # 设定海龟速度为最大
t.penup()                              # 抬笔 
t.color('blue')                        # 设为蓝色的

while True:    
    x,y = mouse_position(screen)       # 获取鼠标指针
    if t.distance(x,y) > 50:           # 如果海龟到x,y距离大于50 
        angle = t.towards(x,y)         # 算出到x,y的朝向角度
        t.setheading(angle)            # 把angle设为海龟的方向
        t.fd(5)                        # 前进5个单位
    screen.update()                     # 刷新屏幕显示

本站所有作品,教程等皆为原创,版权所有。只供个人及单位内部研究使用,对外展示或传播必需经本站同意,且注明来自本站。培训机构等用本站资源培训学生,需经本站授权。一旦付款,表示同意本站知识付费原则:数字商品,不支持退款。亦可直接向微信号scratch8付款购买。入住QQ群:225792826 和爱好者共同交流,并且能下载免费提供的Python资源(需提供真实姓名才可入群)
李兴球的博客_Python创意编程技术前沿_pygame » 牵引憨憨的小海龟
scratch

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

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