""" 获取鼠标指针测试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()
需要完整源代码请
需要浏览更多吗?
成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)