本文主要是介绍跳跳狗小游戏,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
欢迎来到程序小院
跳跳狗
玩法:一直弹跳的狗狗,鼠标点击屏幕左右方向键进行弹跳,弹到不同物品会有不同的分数减扣,规定的时间3分钟内完成狗狗弹跳,快去跳跳狗吧^^。
开始游戏https://www.ormcc.com/play/gameStart/198
html
<canvas id="ef" width="100%" height="100%" style="position:absolute;left:0;top:180px;z-index:19;display:none;"></canvas>
<canvas id="game" width="100%" height="100%" style="position:absolute;left:0;top:180px;z-index:18;"></canvas>
<canvas id="bg" width="100%" height="100%" style="position:absolute;left:0;top:180px;z-index:17;"></canvas>
css
h2.title{display: block;margin: 50px auto;text-align: center;
}
js
function dot_TalkBubble() {this.reset = function(a, b, c, d, e, f, g, h, k) {this.image = a;this.text = "";this.x = f;this.y = g;this.offsetX = b;this.offsetY = c;this.w = h;this.font = k;a = d.split(" ");for (d = c = b = 0; d < a.length; d++) c = k.getTextSize(a[d]).w, b + c > this.w ? (this.text += "\n" + a[d] + " ", b = c + k.charWidths[" "]) : (this.text += a[d] + " ", b += c + k.charWidths[" "]);this.timer = this.currentIndex = 0;this.maxTimer = 1 / e;this.justFinished = this.finished = !1};this.update = function(a) {this.justFinished = !1;this.finished || (this.timer += a, this.timer >this.maxTimer && (this.timer = 0, this.currentIndex++, this.currentIndex == this.text.length && (this.justFinished = this.finished = !0)))};this.render = function(a, b, c, d) {a.drawImage(this.image, Math.floor(this.x + b - this.offsetX), Math.floor(this.y + c - this.offsetY));this.font.write(a, Math.floor(this.x + b), Math.floor(this.y + c), this.text, d, 0, this.currentIndex)}
}function dot_Math() {this.load = function() {this.m_sin = Array(1440);this.m_cos = Array(1440);for (var a = 0, b = 0; 1440 > b; b++) this.m_sin[b] = Math.sin(a * PI / 180), this.m_cos[b] = Math.cos(a * PI / 180), a += 0.25;this.msquare = Array(600);for (b = 0; b < this.msquare.length; b++) this.msquare[b] = b * b};this.sqrt = function(a) {a = Math.floor(a);a = 0 < a ? a : -a;for (var b = 0, c = this.msquare.length - 1, d = b + c >> 1; b < c - 1;) {if (this.msquare[d] > a) c = d;else if (this.msquare[d] < a) b = d;else break;d = b + c >> 1}return d};this.sin = function(a) {0 > a ? a += 360 : 360 <= a && (a -= 360);return this.m_sin[Math.floor(4 * a)]};this.cos = function(a) {0 > a ? a += 360 : 360 <= a && (a -= 360);return this.m_cos[Math.floor(4 * a)]};this.seed_w = 1234;this.seed_z = 5678;this.randomize = function() {var a = (new Date).getTime();this.seed_w = a % 32E3;this.seed_z = a % 65535};this.rand = function() {this.seed_z = 36969 * (this.seed_z & 65535) + (this.seed_z >> 16);this.seed_w = 18E3 * (this.seed_w & 65535) + (this.seed_w >> 16);return Math.abs((this.seed_z << 16) + this.seed_w)};this.random = function() {return 1 / (this.rand() % 10)};this.randomIn = function(a,b) {return 1 < b ? a + this.rand() % b : a + this.random() * b}
}
var EASE_NONE = 0,EASE_QUAD_IN = 1,EASE_QUAD_OUT = 2,EASE_QUAD_INOUT = 3,EASE_CUBE_IN = 4,EASE_CUBE_OUT = 5,EASE_CUBE_INOUT = 6,EASE_QUART_IN = 7,EASE_QUART_OUT = 8,EASE_QUART_INOUT = 9,EASE_QUINT_IN = 10,EASE_QUINT_OUT = 11,EASE_QUINT_INOUT = 12,EASE_SIN_IN = 13,EASE_SIN_OUT = 14,EASE_SIN_INOUT = 15,EASE_BOUNCE_IN = 16,EASE_BOUNCE_OUT = 17,EASE_BOUNCE_INOUT = 18,EASE_CIRC_IN = 19,EASE_CIRC_OUT = 20,EASE_CIRC_INOUT = 21,EASE_EXPO_IN = 22,EASE_EXPO_OUT = 23,EASE_EXPO_INOUT = 24,EASE_BACK_IN = 25,EASE_BACK_OUT = 26,EASE_BACK_INOUT = 27,PI = 3.1415926,PI2 =1.5707963,B1 = 0.363636363636364,B2 = 0.727272727272727,B3 = 0.545454545454545,B4 = 0.909090909090909,B5 = 0.818181818181818,B6 = 0.954545;function dot_Tween() {this.duration = this.duration_inverse = this.t = 0;this.functionId = EASE_NONE;this.targetRangeNumber = this.targetLowest = this.timer = 0;this.finished = !0;this.delta = 0;this.reset = function(a, b, c, d) {this.duration_inverse = 1 / d;this.functionId = c;this.timer = 0;this.targetLowest = a;this.targetRangeNumber = b - a;this.duration = d;this.finished = !1;this.t = 0;this.delta = this.targetLowest;this.update(0)};this.replay = function() {this.finished = !1;this.t = this.timer = 0;this.delta = this.targetLowest;this.update(0)};this.update = function(a) {if (!this.finished)if (this.timer += a, this.timer > this.duration) this.finished = !0, this.t = 1, this.delta = this.targetLowest + this.targetRangeNumber;else {a = this.t = this.timer * this.duration_inverse;switch (this.functionId) {case EASE_QUAD_IN:a *= a;break;case EASE_QUAD_OUT:a = -a * (a - 2);break;case EASE_QUAD_INOUT:a = 0.5 >= a ? 2 * a * a : 1 - 2 * --a * a;break;case EASE_CUBE_IN:a *= a * a;break;case EASE_CUBE_OUT:a = 1 + --a * a * a;break;case EASE_CUBE_INOUT:a = 0.5 >= a ? 4 * a * a * a : 1 + 4 * --a * a * a;break;case EASE_QUART_IN:a *= a * a * a;break;case EASE_QUART_OUT:a = 1 - (a -= 1) * a * a * a;break;case EASE_QUART_INOUT:a = 0.5 >= a ? 8 * a * a * a * a : (1 - (a = 2 * a - 2) * a * a * a) / 2 + 0.5;break;case EASE_QUINT_IN:a *= a * a * a * a;break;case EASE_QUINT_OUT:a = (a -= 1) * a * a * a * a + 1;break;case EASE_QUINT_INOUT:a = 1 > (a *= 2) ? a * a * a * a * a / 2 : ((a -= 2) * a * a * a * a + 2) / 2;break;case EASE_SIN_IN:a = -Math.cos(PI2 * a) + 1;break;case EASE_SIN_OUT:a = Math.sin(PI2 * a);break;case EASE_SIN_INOUT:a = -Math.cos(PI * a) / 2 + 0.5;break;case EASE_BOUNCE_IN:a = 1 - a;if (a < B1) {a = 1 - 7.5625 * a * a;break}if (a < B2) {a = 1 - (7.5625 * (a - B3) * (a - B3) +0.75);break}if (a < B4) {a = 1 - (7.5625 * (a - B5) * (a - B5) + 0.9375);break}a = 1 - (7.5625 * (a - B6) * (a - B6) + 0.984375);break;case EASE_BOUNCE_OUT:if (a < B1) {a *= 7.5625 * a;break}if (a < B2) {a = 7.5625 * (a - B3) * (a - B3) + 0.75;break}if (a < B4) {a = 7.5625 * (a - B5) * (a - B5) + 0.9375;break}a = 7.5625 * (a - B6) * (a - B6) + 0.984375;break;case EASE_BOUNCE_INOUT:if (0.5 > a) {a = 1 - 2 * a;if (a < B1) {a = (1 - 7.5625 * a * a) / 2;break}if (a < B2) {a = (1 - (7.5625 * (a - B3) * (a - B3) + 0.75)) / 2;break}if (a < B4) {a = (1 - (7.5625 * (a - B5) * (a - B5) + 0.9375)) / 2;break}a = (1 - (7.5625 * (a - B6) * (a - B6) + 0.984375)) / 2;break}a =2 * a - 1;if (a < B1) {a = 7.5625 * a * a / 2 + 0.5;break}if (a < B2) {a = (7.5625 * (a - B3) * (a - B3) + 0.75) / 2 + 0.5;break}if (a < B4) {a = (7.5625 * (a - B5) * (a - B5) + 0.9375) / 2 + 0.5;break}a = (7.5625 * (a - B6) * (a - B6) + 0.984375) / 2 + 0.5;break;case EASE_CIRC_IN:a = -(Math.sqrt(1 - a * a) - 1);break;case EASE_CIRC_OUT:a = Math.sqrt(1 - (a - 1) * (a - 1));break;case EASE_CIRC_INOUT:a = 0.5 >= a ? (Math.sqrt(1 - 4 * a * a) - 1) / -2 : (Math.sqrt(1 - (2 * a - 2) * (2 * a - 2)) + 1) / 2;break;case EASE_EXPO_IN:a = Math.pow(2, 10 * (a - 1));break;case EASE_EXPO_OUT:a = -Math.pow(2, -10 * a) + 1;break;case EASE_EXPO_INOUT:a =0.5 > a ? Math.pow(2, 10 * (2 * a - 1)) / 2 : (-Math.pow(2, -10 * (2 * a - 1)) + 2) / 2;break;case EASE_BACK_IN:a = a * a * (2.70158 * a - 1.70158);break;case EASE_BACK_OUT:a = 1 - --a * a * (-2.70158 * a - 1.70158);break;case EASE_BACK_INOUT:a *= 2;if (1 > a) {a = a * a * (2.70158 * a - 1.70158) / 2;break}a--;a = (1 - --a * a * (-2.70158 * a - 1.70158)) / 2 + 0.5}this.t = a;this.delta = this.targetLowest + this.targetRangeNumber * this.t}}
}
源码https://www.ormcc.com/
需要源码请关注添加好友哦^ ^
转载:欢迎来到本站,转载请注明文章出处
https://ormcc.com/
这篇关于跳跳狗小游戏的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!