예제 #1
0
# -*- coding: utf8 -*-_

'''
Este exemplo demonstra a resposta a colisões com atrito utilizando duas caixas
AABB.
'''

from FGAme import World, AABB

# Cria mundo com coeficiente de atrito global não-nulo
world = World(dfriction=0.1)
world.add_bounds(width=10, col_layer=[0, 2])

# Cria objetos
A = AABB(pos=(400, 100), shape=(50, 50), color='black', col_layer=2,
         col_group=1)
B = AABB(pos=(150, 500), shape=(50, 50), vel=(200, -400), color='red',
         col_layer=2, col_group=1)


def pause():
    print('', B.bbox, '\n', A.bbox, '\n')
    world.toggle_pause()


# Inicia a simulação
world.add([A, B])
world.listen('key-down', 'space', pause)
world.run()
예제 #2
0
# -*- coding: utf8 -*-_

'''
Este exemplo demonstra a resposta a colisões com atrito utilizando duas caixas
AABB.
'''

from FGAme import World, AABB

print(AABB)

# Cria mundo com coeficiente de atrito global não-nulo
world = World(dfriction=0.1)
world.set_bounds(width=10)

# Cria objetos
A = AABB(pos=(400, 100), shape=(50, 50), color='black')
B = AABB(pos=(150, 500), shape=(50, 50), vel=(200, -400), color='red')

# Inicia a simulação
world.add([A, B])
world.listen('key-down', 'p', world.toggle_pause)
world.run()
예제 #3
0
from FGAme import World, Rectangle, pos
from random import uniform

world = World(friction=0.2, restitution=0.9, gravity=0)
world.add_bounds(width=10)
world.add(
    Rectangle(
        pos=pos.middle - (300, +150),
        vel=(270, 420 + uniform(0, 200)), 
        shape=(50, 50),
        theta=0.2, 
        color='random',
    )
)

world.listen('key-down', 'space', world.toggle_pause)
world.register_energy_tracker()
world.run()
예제 #4
0
# -*- coding: utf8 -*-_
'''
Este exemplo demonstra a resposta a colisões com atrito utilizando duas caixas
AABB.
'''

from FGAme import World, AABB

# Cria mundo com coeficiente de atrito global não-nulo
world = World(dfriction=0.1)
world.add_bounds(width=10)

# Cria objetos
A = AABB(pos=(400, 100), shape=(50, 50), color='black')
B = AABB(pos=(150, 500), shape=(50, 50), vel=(200, -400), color='red')


def pause():
    print('', B.bbox, '\n', A.bbox, '\n')
    world.toggle_pause()


# Inicia a simulação
world.add([A, B])
world.listen('key-down', 'space', pause)
world.run()