Path: blob/main/public/games/files/garbage-collector/js/levels/level-02.js
1036 views
/*globals define*/1define(function( require ) {2'use strict';34var Utils = require( 'utils' );5var LevelUtils = require( 'levels/utils-level' );67var Door = require( 'entities/door' );8var Laser = require( 'entities/laser' );9var Emitter = require( 'entities/emitter' );10var Trigger = require( 'entities/trigger' );11var TriggerWire = require( 'effects/trigger-wire' );1213var Material = require( 'config/material' );1415var DEG_TO_RAD = Utils.DEG_TO_RAD;1617var level02Data = require( 'text!../../json/level-02.json' );18var level03 = require( 'levels/level-03' );1920return function( game ) {21game.clear();2223game.player.x = 60;24game.player.y = -40;25game.material = Material.ANTIMATTER;2627game.font = '16pt "Helvetica Neue", Helvetica, Arial, sans-serif';28var materialText = 'Press button or spacebar to change matter type.';29game.text = materialText;3031var checkMaterial = setInterval(function() {32if ( game.player.material === Material.MATTER ) {33game.text = '';34clearInterval( checkMaterial );35}3637if ( game.text !== materialText ) {38clearInterval( checkMaterial );39}40}, 200 );4142LevelUtils.playerMaterialOn( game );43LevelUtils.addTrail( game );44LevelUtils.addBackground( game, 96, 75, 32, 1 );45LevelUtils.loadData( game, level02Data );4647game.camera.setHeight( 36, {48maintainAspectRatio: true49});5051// Emitters.52var trashM = LevelUtils.normalTrash( Material.MATTER );5354var em0 = new Emitter( 70, -40 );55em0.spawnArea = LevelUtils.normalSpawnArea(4);56em0.rate = 0.1;57em0.lifeTime = 6;58em0.speed = 100;59em0.angle = -180 * DEG_TO_RAD;6061em0.particle = trashM;62em0.properties = LevelUtils.normalTrashProperties( trashM, Material.MATTER );63em0.properties.body.linearDamping = 0;6465em0.start();66game.add( em0 );6768// Lasers.69var laser0 = new Laser( 44, -59, Material.MATTER );70laser0.angle = -90 * DEG_TO_RAD;71game.add( laser0 );7273var laser1 = new Laser( 14, -59, Material.MATTER );74laser1.angle = -90 * DEG_TO_RAD;75game.add( laser1 );7677var laser2 = new Laser( -16, -57, Material.MATTER );78laser2.angle = -90 * DEG_TO_RAD;79game.add( laser2 );8081// Trigger.82var trig0 = new Trigger( -60, -40, 3, Material.MATTER );83game.add( trig0 );8485// Door.86var door = new Door( -45, -17, 3, {87callback: function() {88level03( game );89}90});9192door.triggers.push( trig0 );93game.add( door );9495// Trigger wire.96var triggerWire = new TriggerWire( trig0, door, {97vertices: [980.4, 0,990.4, 0.5,1001, 0.5101],102sourceDirection: TriggerWire.Direction.RIGHT,103targetDirection: TriggerWire.Direction.TOP104});105game.add( triggerWire );106};107});108109110