获取鼠标指针测试item之间的碰撞

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

python海龟画图碰撞动画演示
python海龟画图碰撞动画演示
"""
   获取鼠标指针测试item之间的碰撞
   这份源代码展示了如何实时获取鼠标指针坐标,
   如何进行碰撞检测,这样用海龟画图模块制作游戏方便多了.
"""
import time
from turtle import Turtle,Screen
from random import random,randint

def randomcolor():
    r = random()
    g = random()
    b = random()
    return r,g,b

def mouse_pos():
    """获取相对于海龟屏幕的鼠标指针坐标,和屏幕的缩放参数scale无关。"""    
    pass

def isoverlap(item1,item2):
    """判断画布上两个项目是否重叠"""
    pass

s = Screen()                # 新建屏幕对象
s.delay(0)
canvas = s.cv
t = Turtle(shape='square')
t.shapesize(1.4)
t.speed(0)
t.penup()
t.bk(280)
haigui = t.turtle._item

# 下面是印刷此方块,
# 把它们放在squares列表中
squares = []
for _ in range(6):
    t.fillcolor(randomcolor())
    t.begin_fill()
    for _ in range(4):
        t.fd(50)
        t.rt(90)
    t.end_fill()
    pass            # 此处省略了代码
    t.fd(100)
t.bk(600)
t.sety(t.ycor() - 100)
for _ in range(6):
    t.fillcolor(randomcolor())
    t.begin_fill()
    for _ in range(4):
        t.fd(50)
        t.rt(90)
    t.end_fill()
    pass            # 此处省略了代码
    t.fd(100)
    
w = Turtle(shape='blank')
w.penup()
w.sety(200)
zi = ('',32,'underline')
while True:
    x,y = mouse_pos()
    t.goto(x,y)
    for sq in squares:
        if isoverlap(haigui,sq):
            w.clear()
            w.write('碰到' + str(sq) ,align='center',font=zi)
    s.update()

需要完整源代码请扫码付款:

VIP免费查看

已有0人支付

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

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

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