python 苹果放入10个篮子 任意数量_[专题]Python turtle的多学科创意编程

本文介绍了使用Python turtle模块进行创意编程,包括海龟绘图加速、鼠标交互、海龟克隆、形状设定和盖戳功能。通过示例展示了如何创建可拖动的篮子接苹果游戏,详细解释了各功能的实现方式,如禁止动画显示、鼠标拖动事件绑定、图形克隆等。
摘要由CSDN通过智能技术生成

turtle功能

本作品涉及到的turtle模块功能主要有5个。

第1个是海龟绘图加速功能,通过在程序前部加tracer方法调用禁止动画显示。

1       import turtle, random

2

3       turtle.tracer(0)

并在每帧绘制结束后调用update方法进行屏幕刷新,让绘制的图形一次性显示在窗口里。

42         # 刷新屏幕

43         turtle.update()

第2个是turtle模块的鼠标交互功能,如程序中的第17行。

12     # 接苹果的篮子

13     turtle.addshape('basket', ((-100, 0), (100, 0), (0, -25)))

14     basket = model.clone()

15     basket.shape('basket')

16     basket.setheading(90)

17     basket.ondrag(basket.goto)  # 把goto函数绑定到鼠标拖动事件上

18     basket.showturtle()

将海龟basket的拖动事件绑定到basket的goto函数,这样,当用户用鼠标点击这个海龟并进行拖动的时候,会触发drag事件,实现调用basket.goto函数,并将事件发生时海龟的坐标作为参数传递给basket.goto函数,从而实现鼠标拖动到哪里,海龟basket就跟到哪里的交互效果。海龟的鼠标交互事件还有点击事件onclick、释放事件onrelease,都可以绑定处理函数,从而实现点击、释放鼠标各个按钮的交互。

第3个是海龟克隆功能,如程序中的第14行,海龟model的clone方法,可以将model对象复制1个,赋值给basket,克隆会产生新的海龟对象,并且保留原海龟对象的所有属性值。利用克隆功能,能够很方便地复制出相互独立而又具有相同初始属性的多个海龟,这些海龟后续修改属性并不会相互影响。

第4个是海龟形状设定功能,如程序中的第13、15行,由于鼠标交互需要整体拖动一个图形,我们就可以将一个海龟的形状设置为这个图形,实现图形的动画和接受鼠标拖动事件。第13行在程序中用addshape函数添加注册1个名字为“basket”的形状,从代码可以看出,这是1个以海龟坐标为中心的倒三角形。第15行用shape函数将海龟basket设置成名称为“basket”的形状。

我们也可以用shape函数将海龟的形状改为turtle模块内置的形状,如箭头'arrow'、海龟'turtle'、圆'circle'、方形'square'、三角形'triangle'和经典形状'classic'。

第5个是海龟的“盖戳”复印功能,如程序中的第43行,设定好红色苹果形状的海龟mould作为印模,可以在海龟当前位置上留下自身的形状。即便移走海龟,这个形状仍然保持在原地。

40             # 苹果下落,并用印模画出苹果

41             apple[1] -= apple[2]

42             mould.goto(apple[0], apple[1])

43             mould.stamp()

stamp函数将返回一个stampid,如果需要清除这个形状,则可以调用clearstamp函数清除指定stampid的形状,或者调用clearstamps函数清除所有形状。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值