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;
}
Again.of = function () {
const instance = new Again();
instance.init();
return instance;
};
Again.of = (function () {
let instance = null;
return function () {
if (!instance) {
instance = new Again();
}
instance.init();
return instance;
};
})();
// 初始化
Again.prototype.init = function () {

15
src/classes/back.js

@ -4,11 +4,16 @@ function Back() {
this.back = null;
}
Back.of = function () {
const instance = new Back();
instance.init();
return instance;
};
Back.of = (function () {
let instance = null;
return function () {
if (!instance) {
instance = new Back();
}
instance.init();
return instance;
};
})();
Back.prototype.init = function () {
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 倒计时时长
* @returns
*/
Count.of = function (countEndCallback, startTime = Date.now(), defaultCount) {
const instance = new Count(countEndCallback, startTime, defaultCount);
instance.init();
return instance;
};
Count.of = (function () {
let instance = null;
return function (countEndCallback, startTime = Date.now(), defaultCount) {
if (!instance) {
instance = new Count(countEndCallback, startTime, defaultCount);
}
instance.init();
return instance;
};
})();
// 初始化方法
Count.prototype.init = function () {

15
src/classes/demo.js

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

15
src/classes/end.js

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

15
src/classes/level.js

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

19
src/classes/main.js

@ -26,11 +26,16 @@ function Main(endCallback, max) {
* @param {function} endCallback 游戏结束的回调函数
* @param {number} max 最多运动次数
*/
Main.of = function (endCallback, max = config.times) {
const instance = new Main(endCallback, max);
instance.init();
return instance;
};
Main.of = (function () {
let instance = null;
return function (endCallback, max = config.times) {
if (!instance) {
instance = new Main(endCallback, max);
}
instance.init();
return instance;
};
})();
// 初始方法
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);
config.currentTimes = times;
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 = {};
}
Sound.of = function () {
const instance = new Sound();
instance.init();
return instance;
};
Sound.of = (function () {
let instance = null;
return function () {
if (!instance) {
instance = new Sound();
}
instance.init();
return instance;
};
})();
Sound.prototype.init = function () {
createjs.Sound.alternateExtensions = ['mp3'];
console.log('createjs.Sound: ', createjs.Sound);
const sounds = [{ src: 'sounds/bgmMusic.mp3', id: 'bgm' }];
const _this = this;
createjs.Sound.addEventListener('fileload', function (event) {
console.log('event: ', event);
_this.music[event.id] = createjs.Sound.createInstance(event.id);
});
createjs.Sound.registerSounds(sounds, './');

15
src/classes/suspend.js

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

15
src/classes/time.js

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

5
src/custom.js

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

3
src/message.js

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

2
src/test.js

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

Loading…
Cancel
Save