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)

 

如需要查看完整代码,请扫码付款:

付费查看

已有0人支付

本站所有作品,教程等皆为原创,盗版必究。一旦付款,表示同意本站知识付费原则:数字商品,不支持退款。扫码付款后的朋友可以加QQ: 406273900,提供技术支持及发送作品图片与配音素材。亦可直接向微信号scratch8付款购买。
李兴球的博客_Python创意编程技术前沿 » python海龟画图的物理互碰弹球

学本领,探索更大的世界!

李兴球博客 风火轮编程主页