
""" 趣味正方形.py 画个正方形后,单击它会移动,并且碰到边缘就反弹。 这个版本采用画布的move命令来当前线条项目实现的。 也可以用纯动画原理实现,还能用自定义造型来实现。 """ import time import turtle sw,sh = 480,360 turtle.shape('turtle') turtle.bgcolor('black') turtle.color('yellow') turtle.pensize(2) turtle.setup(sw,sh) for _ in range(4): turtle.fd(50) turtle.lt(90) square = turtle.getturtle().currentLineItem canvas = turtle.getcanvas() turtle.color('cyan') turtle.write('请单击',align='center',font=('',16,'underline')) def gogogo(event): turtle.ht() dx = 5 dy = 5 canvas.unbind("") while True: canvas.move(square,dx,dy) cors = canvas.coords(square) xcors = [cors[i] for i in range(len(cors)) if i%2==0] ycors = [cors[i] for i in range(len(cors)) if i%2==1] min_x = min(xcors) max_x = max(xcors) min_y = min(ycors) max_y = max(ycors) #print(min_x,max_x,min_y,max_y) if max_x >= sw//2 or min_x <= -sw//2:dx = -dx if max_y >= sh//2 or min_y <= -sh//2:dy = -dy time.sleep(0.01) canvas.update() canvas.bind(" ",gogogo) screen = turtle.getscreen() screen.mainloop()
本站所有作品,教程等皆为原创,版权所有。只供个人及单位内部研究使用,对外展示或传播必需经本站同意,且注明来自本站。培训机构等用本站资源培训学生,需经本站授权。一旦付款,表示同意本站知识付费原则:数字商品,不支持退款。亦可直接向微信号scratch8付款购买。入住QQ群:225792826 和爱好者共同交流,并且能下载免费提供的Python资源(需提供真实姓名才可入群)
李兴球的博客_Python创意编程技术前沿_pygame » 趣味正方形
李兴球的博客_Python创意编程技术前沿_pygame » 趣味正方形