Esempio n. 1
0
def createSpider():
    posX = random(mainSize/2, width-mainSize/2)
    posY = random(mainSize/2, height-mainSize/2)
    main = FCircle(mainSize)
    main.setPosition(posX, posY)
    main.setVelocity(random(-20,20), random(-20,20))
    main.setFillColor(bodyColor)
    main.setNoStroke()
    main.setGroupIndex(2)
    world.add(main)
    mains.append(main)
    for i in range(legCount):
        x = legSize * cos(i*TWO_PI/3) + posX
        y = legSize * sin(i*TWO_PI/3) + posY
        leg = FCircle(mainSize/2)
        leg.setPosition(posX, posY)
        leg.setVelocity(random(-20,20), random(-20,20))
        leg.setFillColor(bodyColor)
        leg.setNoStroke()
        world.add(leg)
        j = FDistanceJoint(main, leg)
        j.setLength(legSize)
        j.setNoStroke()
        j.setStroke(0)
        j.setFill(0)
        j.setDrawable(False)
        j.setFrequency(0.1)
        world.add(j)
Esempio n. 2
0
def setup():
    global puenteY, world

    size(400, 400)
    smooth()
    puenteY = height/3
    Fisica.init(this)
    world = FWorld()
    bola = FCircle(40)
    bola.setPosition(width/3, puenteY-10)
    bola.setDensity(0.2)
    bola.setFill(120, 120, 190)
    bola.setNoStroke()
    world.add(bola)
    for i in range(stepCount):
        box = FBox(boxWidth, 10)
        box.setPosition(map(i, 0, stepCount - 1, boxWidth, width-boxWidth), puenteY)
        box.setNoStroke()
        box.setFill(120, 200, 190)
        world.add(box)
        steps.append(box)
    for i in range(1, stepCount):
        junta = FDistanceJoint(steps[i-1], steps[i])
        junta.setAnchor1(boxWidth/2, 0)
        junta.setAnchor2(-boxWidth/2, 0)
        junta.setFrequency(frequency)
        junta.setDamping(damping)
        junta.setFill(0)
        junta.calculateLength()
        world.add(junta)
    left = FCircle(10)
    left.setStatic(True)
    left.setPosition(0, puenteY)
    left.setDrawable(False)
    world.add(left)
    right = FCircle(10)
    right.setStatic(True)
    right.setPosition(width, puenteY)
    right.setDrawable(False)
    world.add(right)
    juntaPrincipio = FDistanceJoint(steps[0], left)
    juntaPrincipio.setAnchor1(-boxWidth/2, 0)
    juntaPrincipio.setAnchor2(0, 0)
    juntaPrincipio.setFrequency(frequency)
    juntaPrincipio.setDamping(damping)
    juntaPrincipio.calculateLength()
    juntaPrincipio.setFill(0)
    world.add(juntaPrincipio)
    juntaFinal = FDistanceJoint(steps[stepCount-1], right)
    juntaFinal.setAnchor1(boxWidth/2, 0)
    juntaFinal.setAnchor2(0, 0)
    juntaFinal.setFrequency(frequency)
    juntaFinal.setDamping(damping)
    juntaFinal.calculateLength()
    juntaFinal.setFill(0)
    world.add(juntaFinal)
Esempio n. 3
0
def createSpider():
    posX = random(mainSize / 2, width - mainSize / 2)
    posY = random(mainSize / 2, height - mainSize / 2)
    main = FCircle(mainSize)
    main.setPosition(posX, posY)
    main.setVelocity(random(-20, 20), random(-20, 20))
    main.setFillColor(bodyColor)
    main.setNoStroke()
    main.setGroupIndex(2)
    world.add(main)
    mains.append(main)
    for i in range(legCount):
        x = legSize * cos(i * TWO_PI / 3) + posX
        y = legSize * sin(i * TWO_PI / 3) + posY
        leg = FCircle(mainSize / 2)
        leg.setPosition(posX, posY)
        leg.setVelocity(random(-20, 20), random(-20, 20))
        leg.setFillColor(bodyColor)
        leg.setNoStroke()
        world.add(leg)
        j = FDistanceJoint(main, leg)
        j.setLength(legSize)
        j.setNoStroke()
        j.setStroke(0)
        j.setFill(0)
        j.setDrawable(False)
        j.setFrequency(0.1)
        world.add(j)