"""让海龟画图插上物理引擎的翅膀,丑小鸭变白天鹅了。 本程序新建物理弹球类,它继承自海龟类。给它新增了一些描述物理性质的属性, 这些物理性质来自pymunk。 """ import pymunk # 导入pymunk模块 import turtle # 导入海龟模块,用它来渲染刚体 import random class PhysicBall(turtle.Turtle): def __init__(self,space,image,position): turtle.Turtle.__init__(self,visible=False) self.raw_position = position self.space = space # 弹球的重力空间 self.penup() self.shape(image) # 设定形状 self.mass = 1 # 质量为1 def reborn(self): self.body.velocity= (0,0) direction = random.randint(-3000,3000),random.randint(6000,7000) self.body.force = direction # 给力 self.body.position = self.raw_position[0],self.raw_position[1] self.goto(self.raw_position) self.st() width,height = 600,600 balls_list = [] screen = turtle.Screen() # 新建海龟窗口,用于渲染形状的 screen.delay(0) screen.title("python海龟画图的物理互碰弹球_作者:李兴球") screen.setup(600,600) screen.bgcolor("cyan") screen.addshape("绿球.gif") space = pymunk.Space() # 设定重力空间 space.gravity = 0,-200 # 设置重力参数 # platform是平台,它只是真正的平台的外表 platform = turtle.Turtle(shape='square') # 这是画棕色的棒子,它只是用来显示下面的staticbody的 platform.color("brown") platform.penup() platform.shapesize(1,15) platform.setposition(0,-200)
如需要查看完整代码,请
需要浏览更多吗?
成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)