turtle_pymunk单击彩球零重力互碰演示程序源代码

0 Comments

turtle_pymunk单击彩球零重力互碰演

turtle_pymunk单击彩球零重力互碰演
turtle_pymunk单击彩球零重力互碰演

这是用了pymunk物理引擎的一个示例。在例子中彩球受到的是零重力,它们有一个初始速度,彼此会产生互碰效果。只有一个海龟对象,程序中所有小球都是画出来的。以下是部分代码预览:

"""
   turtle_pymunk单击彩球零重力互碰演,谁说海龟模块只能画图。
   本程序运行后,单击会有彩球,彩球会移动,但是它们有互碰效果。
"""
import sys
import math
import turtle
import pymunk
from random import randint

def rndcolor():
    """产生随机颜色"""
    r = randint(0,255)
    g = randint(0,255)
    b = randint(0,255)
    return r,g,b
       
def main():
    """主要执行函数"""
    global space,balls
    width,height = 600,600
    screen = turtle.Screen()
    screen.setup(width,height)
    screen.title("turtle_pymunk单击彩球零重力互碰演by李兴球")
    screen.tracer(0,0)
    screen.colormode(255)
    screen.bgcolor(115,175,24)    # 背景颜色
    screen.update()               # 刷新显示

    space = pymunk.Space()        # 重力空间
    space.gravity = (0.0, 0.0)    # 加速度为0 

    screen.onclick(add_bubble)    # 绑定单击事件

    t = turtle.Turtle(visible=False)#用来画球的海龟
    t.penup()
    balls = []     

 

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)