Browse Source

添加模式

master
song 4 years ago
parent
commit
de7989fa64
  1. BIN
      public/恢复_鸟妈妈回家_HTML5 Canvas.fla
  2. 15
      src/classes/again.js
  3. 15
      src/classes/back.js
  4. 15
      src/classes/count.js
  5. 15
      src/classes/demo.js
  6. 15
      src/classes/end.js
  7. 15
      src/classes/level.js
  8. 19
      src/classes/main.js
  9. 17
      src/classes/sound.js
  10. 15
      src/classes/suspend.js
  11. 15
      src/classes/time.js
  12. 5
      src/custom.js
  13. 3
      src/message.js
  14. 2
      src/test.js

BIN
public/恢复_鸟妈妈回家_HTML5 Canvas.fla

Binary file not shown.

15
src/classes/again.js

@ -9,11 +9,16 @@ function Again() {
this.btnAgain = null; this.btnAgain = null;
} }
Again.of = function () { Again.of = (function () {
const instance = new Again(); let instance = null;
instance.init(); return function () {
return instance; if (!instance) {
}; instance = new Again();
}
instance.init();
return instance;
};
})();
// 初始化 // 初始化
Again.prototype.init = function () { Again.prototype.init = function () {

15
src/classes/back.js

@ -4,11 +4,16 @@ function Back() {
this.back = null; this.back = null;
} }
Back.of = function () { Back.of = (function () {
const instance = new Back(); let instance = null;
instance.init(); return function () {
return instance; if (!instance) {
}; instance = new Back();
}
instance.init();
return instance;
};
})();
Back.prototype.init = function () { Back.prototype.init = function () {
const target = new this.lib.btnBack(); const target = new this.lib.btnBack();

15
src/classes/count.js

@ -29,11 +29,16 @@ function Count(countEndCallback, startTime, defaultCount = config.count || 5) {
* @param {number} defaultCount 倒计时时长 * @param {number} defaultCount 倒计时时长
* @returns * @returns
*/ */
Count.of = function (countEndCallback, startTime = Date.now(), defaultCount) { Count.of = (function () {
const instance = new Count(countEndCallback, startTime, defaultCount); let instance = null;
instance.init(); return function (countEndCallback, startTime = Date.now(), defaultCount) {
return instance; if (!instance) {
}; instance = new Count(countEndCallback, startTime, defaultCount);
}
instance.init();
return instance;
};
})();
// 初始化方法 // 初始化方法
Count.prototype.init = function () { Count.prototype.init = function () {

15
src/classes/demo.js

@ -9,11 +9,16 @@ function Demo() {
this.stopDemo = null; this.stopDemo = null;
} }
Demo.of = function () { Demo.of = (function () {
const instance = new Demo(); let instance = null;
instance.init(); return function () {
return instance; if (!instance) {
}; instance = new Demo();
}
instance.init();
return instance;
};
})();
// 初始化 // 初始化
Demo.prototype.init = function () { Demo.prototype.init = function () {

15
src/classes/end.js

@ -21,11 +21,16 @@ function End(score) {
* @param {number} score 最终得分 * @param {number} score 最终得分
* @returns * @returns
*/ */
End.of = function (score) { End.of = (function () {
const instance = new End(score); let instance = null;
instance.init(); return function () {
return instance; if (!instance) {
}; instance = new End();
}
instance.init();
return instance;
};
})();
// 初始化 // 初始化
End.prototype.init = function () { End.prototype.init = function () {

15
src/classes/level.js

@ -13,11 +13,16 @@ function Level(level = config.level || 1) {
* @param {number} level 等级数值 * @param {number} level 等级数值
* @returns * @returns
*/ */
Level.of = function (level) { Level.of = (function () {
const instance = new Level(level); let instance = null;
instance.init(); return function (level) {
return instance; if (!instance) {
}; instance = new Level(level);
}
instance.init();
return instance;
};
})();
// 初始化 渲染 // 初始化 渲染
// 更新config中的level属性 // 更新config中的level属性

19
src/classes/main.js

@ -26,11 +26,16 @@ function Main(endCallback, max) {
* @param {function} endCallback 游戏结束的回调函数 * @param {function} endCallback 游戏结束的回调函数
* @param {number} max 最多运动次数 * @param {number} max 最多运动次数
*/ */
Main.of = function (endCallback, max = config.times) { Main.of = (function () {
const instance = new Main(endCallback, max); let instance = null;
instance.init(); return function (endCallback, max = config.times) {
return instance; if (!instance) {
}; instance = new Main(endCallback, max);
}
instance.init();
return instance;
};
})();
// 初始方法 // 初始方法
Main.prototype.init = function () { Main.prototype.init = function () {
@ -67,5 +72,7 @@ Main.prototype.computeScore = function (times, direction = 0) {
const directionTarget = config.config.scores.find(item => item.direction === direction); const directionTarget = config.config.scores.find(item => item.direction === direction);
config.currentTimes = times; config.currentTimes = times;
config.currentScore += directionTarget.score; config.currentScore += directionTarget.score;
sendMessage({ event: 'play', data: { currentTimes: times, currentScore: config.currentScore } }); if (config.mode === 0) {
sendMessage({ event: 'play', data: { currentTimes: times, currentScore: config.currentScore } });
}
}; };

17
src/classes/sound.js

@ -5,19 +5,22 @@ function Sound() {
this.music = {}; this.music = {};
} }
Sound.of = function () { Sound.of = (function () {
const instance = new Sound(); let instance = null;
instance.init(); return function () {
return instance; if (!instance) {
}; instance = new Sound();
}
instance.init();
return instance;
};
})();
Sound.prototype.init = function () { Sound.prototype.init = function () {
createjs.Sound.alternateExtensions = ['mp3']; createjs.Sound.alternateExtensions = ['mp3'];
console.log('createjs.Sound: ', createjs.Sound);
const sounds = [{ src: 'sounds/bgmMusic.mp3', id: 'bgm' }]; const sounds = [{ src: 'sounds/bgmMusic.mp3', id: 'bgm' }];
const _this = this; const _this = this;
createjs.Sound.addEventListener('fileload', function (event) { createjs.Sound.addEventListener('fileload', function (event) {
console.log('event: ', event);
_this.music[event.id] = createjs.Sound.createInstance(event.id); _this.music[event.id] = createjs.Sound.createInstance(event.id);
}); });
createjs.Sound.registerSounds(sounds, './'); createjs.Sound.registerSounds(sounds, './');

15
src/classes/suspend.js

@ -9,11 +9,16 @@ function Suspend() {
this.suspend = null; this.suspend = null;
} }
Suspend.of = function () { Suspend.of = (function () {
const instance = new Suspend(); let instance = null;
instance.init(); return function () {
return instance; if (!instance) {
}; instance = new Suspend();
}
instance.init();
return instance;
};
})();
// 初始化 // 初始化
Suspend.prototype.init = function () { Suspend.prototype.init = function () {

15
src/classes/time.js

@ -35,11 +35,16 @@ function Time(endCallback, duration, count) {
* @param {number} count 游戏倒计时时长 * @param {number} count 游戏倒计时时长
* @returns * @returns
*/ */
Time.of = function (endCallback, duration = config.duration || 60, count = config.count || 5) { Time.of = (function () {
const instance = new Time(endCallback, duration, count); let instance = null;
instance.init(); return function (endCallback, duration = config.duration || 60, count = config.count || 5) {
return instance; if (!instance) {
}; instance = new Time(endCallback, duration, count);
}
instance.init();
return instance;
};
})();
// 初始化 // 初始化
Time.prototype.init = function () { Time.prototype.init = function () {

5
src/custom.js

@ -4,6 +4,7 @@ const config = {
total: 100, // 总分 total: 100, // 总分
times: 20, // 动作次数 times: 20, // 动作次数
level: 1, // 游戏难度级别 level: 1, // 游戏难度级别
mode: 1, // 模式 0-> 正常模式 1-> 演示模式
currentScore: 0, // 当前得分 currentScore: 0, // 当前得分
currentTimes: 0, // 当前次数 currentTimes: 0, // 当前次数
config: { config: {
@ -45,6 +46,8 @@ function gameOver() {
const times = main.times; const times = main.times;
setTimeout(() => { setTimeout(() => {
End.of(config.currentScore || 0); End.of(config.currentScore || 0);
finishMessage(config.currentScore, times); if (config.mode === 0) {
finishMessage(config.currentScore, times);
}
}, 2000); }, 2000);
} }

3
src/message.js

@ -33,6 +33,7 @@ window.addEventListener(
config.times = game.totalTimes; config.times = game.totalTimes;
config.level = game.level; config.level = game.level;
config.config = game.config; config.config = game.config;
config.mode = game.mode;
window.timeInstance.setDuration(game.duration); window.timeInstance.setDuration(game.duration);
// 开始倒计时 // 开始倒计时
@ -72,7 +73,7 @@ window.addEventListener(
// config.total = score; // config.total = score;
// config.times = times; // config.times = times;
End.of(score || 0); End.of(score || 0);
// window.timeInstance.setDuration(0); window.timeInstance.setDuration(0);
} }
}, },
false, false,

2
src/test.js

@ -14,7 +14,7 @@ function startGame() {
var count = 0, var count = 0,
timer; timer;
document.onclick = function () { document.onclick = function () {
if (isDemo) return; if (isDemo || config.mode !== 1) return;
if (count < 6) { if (count < 6) {
if (timer) { if (timer) {
clearTimeout(timer); clearTimeout(timer);

Loading…
Cancel
Save