def __init__(self, initial_level): super(World, self).__init__() self.space = pymunk.Space() self.space.gravity = (0.0, -900.0) self.space.damping = 0.9 self.space.iterations = 20 self.splash = load_sound('data/sounds/splash.wav') self.images = {} self.sprites = [] self.actors = [] self.batch = Batch() self.load_sprite('sprites/susie-destroy') components.load_all() self.squid = components.Susie(self) self.width = None self.goal = None self.load(initial_level) self.particles = ParticleSystem() self.crashed = False self.won = False self.splash_group = None
def test_add_global_controllers(self): from lepton import ParticleSystem system = ParticleSystem() test_controller = TestController() self.assertEqual(len(system.controllers), 0) system.add_global_controller(test_controller) self.assertEqual(len(system.controllers), 1) self.assertEqual(list(system.controllers), [test_controller])
def test_update(self): from lepton import ParticleSystem system = ParticleSystem() group1 = TestGroup() group2 = TestGroup() system.add_group(group1) system.add_group(group2) self.failIf(group1.updated) self.failIf(group2.updated) system.update(0.05) self.failUnless(group1.updated) self.failUnless(group2.updated)
def test_draw(self): from lepton import ParticleSystem system = ParticleSystem() group1 = TestGroup() group2 = TestGroup() system.add_group(group1) system.add_group(group2) self.failIf(group1.drawn) self.failIf(group2.drawn) system.draw() self.failUnless(group1.drawn) self.failUnless(group2.drawn)
def test_add_remove_group(self): """""" from lepton import ParticleSystem system = ParticleSystem() self.failIf(system.groups) test_group = object() system.add_group(test_group) self.assertEqual(len(system.groups), 1) system.remove_group(test_group) self.assertEqual(len(system.groups), 0) self.assertRaises(ValueError, system.remove_group, test_group)
def test_run_ahead(self): from lepton import ParticleSystem system = ParticleSystem() group1 = TestGroup() group2 = TestGroup() system.add_group(group1) system.add_group(group2) self.failIf(group1.updated) self.failIf(group2.updated) system.run_ahead(2, 30) self.assertEqual(group1.updated, 60) self.assertEqual(group1.time_delta, 1.0 / 30.0) self.assertEqual(group2.updated, 60) self.assertEqual(group2.time_delta, 1.0 / 30.0) self.failIf(group1.drawn) self.failIf(group2.drawn)
def test_len_contains_iter(self): """Test built in __len__, __contains__, __iter__""" from lepton import ParticleSystem system = ParticleSystem() test_group = object() self.assertFalse(test_group in system) self.assertEqual(list(iter(system)), []) system.add_group(test_group) self.assertEqual(len(system), 1) self.assertEqual(len(system.groups), len(system)) self.assertTrue(test_group in system) self.assertEqual(list(iter(system)), [test_group]) another_group = object() self.assertFalse(another_group in system) system.add_group(another_group) self.assertTrue(another_group in system) self.assertEqual(list(iter(system)), [test_group, another_group])
from lepton import ( Particle, ParticleGroup, default_system, domain, ParticleSystem, ) from lepton.domain import Cylinder from lepton.renderer import BillboardRenderer from lepton.texturizer import SpriteTexturizer from lepton.emitter import StaticEmitter, PerParticleEmitter from lepton.controller import Lifetime, Movement, Fader, ColorBlender, Growth from pymunk import Vec2d diffuse_system = ParticleSystem() class Trail: LIFETIME = 0.2 sprite = pyglet.resource.texture('trail.png') group = ParticleGroup( controllers=[ Lifetime(LIFETIME), #Fader(start_alpha=1.0, fade_out_start=0, fade_out_end=LIFETIME), Growth(-50), Movement(), ], renderer=BillboardRenderer(SpriteTexturizer(sprite.id)))