JavaScript: объяснение кода в игре HexGl: опц., Hud, startDelay
Чтобы лучше понять javascript (я только учусь), я начал смотреть на код из различных онлайн-игр. В этой игре (HexGl) есть startDelay, countDownDelay, opts. И hud. Я не могу понять, что они имеют в виду. Я был бы очень признателен за любые отзывы о том, что эти переменные и как они приносят пользу игре!
Код для игры: https://github.com/BKcore/HexGL
Это фрагмент из Gameplay.js:
bkcore.hexgl.Gameplay = function(opts)
{
var self = this;
this.startDelay = opts.hud == null ? 0 : 1000;
this.countDownDelay = opts.hud == null ? 1000 : 1500;
this.active = false;
this.timer = new bkcore.Timer();
this.modes = {
'timeattack':null,
'survival':null,
'replay':null
};
this.mode = opts.mode == undefined || !(opts.mode in this.modes) ? "timeattack" : opts.mode;
this.step = 0;
this.hud = opts.hud;
this.shipControls = opts.shipControls;
this.cameraControls = opts.cameraControls;
this.track = opts.track;
this.analyser = opts.analyser;
this.pixelRatio = opts.pixelRatio;
this.previousCheckPoint = -1;
this.results = {
FINISH: 1,
DESTROYED: 2,
WRONGWAY: 3,
REPLAY: 4,
NONE: -1
};
this.result = this.results.NONE;
this.lap = 1;
this.lapTimes = [];
this.lapTimeElapsed = 0;
this.maxLaps = 3;
this.score = null;
this.finishTime = null;
this.onFinish = opts.onFinish == undefined ? function() {console.log("FINISH");} : opts.onFinish;
this.raceData = null;
this.modes.timeattack = function()