python海龟画图的物理互碰弹球

python海龟画图的物理互碰弹球


以下是部分代码预览:

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

李兴球

李兴球的博客是Python创意编程原创博客

评论已关闭。