Skip to content

Instantly share code, notes, and snippets.

@activetheory
Last active May 18, 2023 13:59
Show Gist options
  • Select an option

  • Save activetheory/fc486f93114cbb6dfbdc to your computer and use it in GitHub Desktop.

Select an option

Save activetheory/fc486f93114cbb6dfbdc to your computer and use it in GitHub Desktop.
function initParticles() {
_particles = _this.initClass(ParticlePhysics, new VerletIntegrator());
_particles.addBehavior(new EdgeBehavior(false, true));
_gravity = new Force(new Vector2(0, 200));
_particles.addBehavior(_gravity);
_collision = new Collision();
_particles.addBehavior(_collision);
_emitter = _this.initClass(Emitter, new Vector2(Stage.width/2, Stage.height/2), 0);
_emitter.addInitializer(makeVisible);
_emitter.tick = 0;
_particles.addEmitter(_emitter);
_repulse = new Attractor(new Vector2(0, -99999), 100, -3500);
_particles.addBehavior(_repulse);
_particles.addBehavior(new ResetBehavior(needsReset));
_particles.addBehavior(new ColorBehavior());
}
function initSprites() {
for (var i = 0; i < 750; i++) {
var sprite = PIXI.Sprite.fromImage('assets/images/particle.png');
sprite.width = sprite.height = 40;
sprite.visible = false;
sprite.anchor.x = sprite.anchor.y = 0.5;
sprite.position.y = -9999;
sprite.tint = 0x43b2ff;
sprite.color = new Color('#ffffff');
_this.container.addChild(sprite);
var particle = new Particle(new Vector2(), 0.2, 17);
particle.sprite = sprite;
particle.saveTo = sprite.position;
_emitter.addToPool(particle);
}
}
function loop() {
_gravity.force.x = Utils.range(Mobile.Accelerometer.x, -5, 5, -70, 70);
_particles.update();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment