"""让海龟画图插上物理引擎的翅膀,丑小鸭变白天鹅了。
本程序新建物理弹球类,它继承自海龟类。给它新增了一些描述物理性质的属性,
这些物理性质来自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资源。)

