1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- let shots = [];
- stages.push({
- id: "mining-asteroid-field",
- setup: () => {
- shots = [];
- getSet('starfield').setup();
- starMotion.velocity.x = 0.05;
- starMotion.velocity.y = 0.05;
- getSet('asteroid-field').setup();
- shots.push({x: 0, y: -30, velocity: {x: 0, y: -12}});
- },
- update: (delta) => {
- getSet('starfield').update(delta);
- getSet('asteroid-field').update(delta);
- let shootAnother = false;
- shots.forEach(shot => {
- shot.x += shot.velocity.x;
- shot.y += shot.velocity.y;
- if(!shootAnother && shots.length < 5 && shot.y < -250) {
- shootAnother = true;
- }
- if(shootAnother && shot.y > -200) {
- shootAnother = false;
- }
- });
- if(shootAnother) {
- shots.push({x: 0, y: -30, velocity: {x: 0, y: -12}});
- }
- shots = shots.filter(shot => shot.y > -400);
- },
- draw: (context, delta) => {
- getSet('starfield').draw(context, delta);
- getSet('asteroid-field').draw(context, delta);
-
- shots.forEach(shot => {
- atlas.drawCentered(context, "laserBlue12.png", { x: shot.x, y: shot.y });
- });
- atlas.drawCentered(context, userData.sprite, { x: 0, y: 0 });
- },
- cleanup: () => {
- shots = [];
- },
- });
|