three编写一个微信跳一跳小游戏效果代码
代码语言:html
所属分类:游戏
代码描述:three编写一个微信跳一跳小游戏效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, maximum-scale=1, user-scalable=no">
<style>
body{
padding: 0;
margin: 0;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
}
.mask{
display: none;
flex-direction: column;
justify-content: center;
align-items: center;
position: fixed;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.4);
}
.content{
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: 500px;
height: 500px;
border-radius: 20px;
background: rgba(0,0,0,0.4);
border: 5px solid rgba(255,255,255,0.05);
}
.score-container{
color: #ffffff;
/* color: #232323; */
text-align: center;
}
.title{
font-size: 20px;
font-weight: bold;
/* color: rgba(255,255,255,0.6); */
}
.score{
font-size: 100px;
font-weight: bold;
margin-top: 20px;
}
button.restart{
width: 200px;
height: 40px;
border-radius: 20px;
background: white;
border: none;
font-weight: bold;
font-size: 20px;
cursor: pointer;
}
button.restart:hover{
color:#232323;
}
.info{
margin: 20px 0;
position: absolute;
text-align: center;
width:100%;
color: rgba(255,255,255,0.2);
}
.info a{
/* display: block; */
font-size: 16px;
line-height: 28px;
color: rgba(255,255,255,0.2);
/* color: #232323; */
text-decoration: none;
}
a.title{
font-size: 20px;
font-weight: bold;
}
.score-gaming{
margin-top: 10px;
color: rgba(255,255,255,1);
font-size: 16px;
}
</style>
</head>
<body>
<div class="mask">
<div class="content">
<div class="score-container">
<p class="title">本次得分</p>
<p>历史最高: <span class="record">0</span></p>
<p class="score">0</p>
</div>
<button class="restart">
重新开始
</button>
</div>
</div>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/three.88.js"></script>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/createjs-1.3.2.js"></script>
<script>
// 通过canvas创建材质
var canvasTexture = null;
function clock()
{
canvasTexture = document.createElement('canvas');
canvasTexture.width=200;
canvasTexture.height=200;
var ctx = canvasTexture.getContext('2d');
if(ctx){
var timerId;
var frameRate = 60;
function canvObject(){
this.x = 0;
this.y = 0;
this.rotation = 0;
this.borderWidth = 2;
this.borderColor = '#000000';
this.fill = false;
this.fillColor = '#ff0000';
this.update = function(){
if(!this.ctx)throw new Error('你没有指定ctx对象。');
var ctx = this.ctx
ctx.save();
ctx.lineWidth = this.borderWidth;
ctx.strokeStyle = this.borderColor;
ctx.fillStyle = this.fillColor;
ctx.translate(this.x, this.y);
if(this.rotation)ctx.rotate(this.rotation * Math.PI/180);
if(this.draw)this.draw(ctx);
if(this.fill)ctx.fill();
ctx.stroke();
ctx.restore();
}
};
function Line(){};
Line.prototype = new canvObject();
Line.prototype.fill = false;
Line.prototype.start = [0,0];
Line.prototype.end = [5,5];
Line.prototype.draw = function(ctx){
ctx.beginPath();
ctx.moveTo.apply(ctx,this.start);
ctx.lineTo.apply(ctx,this.end);
ctx.closePath();
};
function Circle(){};
Circle.prototype = new canvObject();
Circle.prototype.draw = function(ctx){
ctx.beginPath();
ctx.arc(0, 0, this.radius, 0, 2 * Math.PI, true);
ctx.closePath();
};
var circle = new Circle();
circle.ctx = ctx;
circle.x = 100;
circle.y = 100;
circle.radius = 90;
circle.fill = true;
circle.borderWidth = 6;
circle.fillColor = '#ffffff';
var hour = new Line();
hour.ctx = ctx;
hour.x = 100;
hour.y = 100;
hour.borderColor = "#000000";
hour.borderWidth = 10;
hour.rotation = 0;
hour.start = [0,20];
hour.end = [0,-50];
var minute = new Line();
minute.ctx = ctx;
minute.x = 100;
minute.y = 100;
minute.borderColor = "#333333";
minute.borderWidth = 7;
minute.rotation = 0;
minute.start = [0,20];
minute.end = [0,-70];
var seconds = new Line();
seconds.ctx = ctx;
seconds.x = 100;
seconds.y = 100;
seconds.borderColor = "#ff0000";
seconds.borderWidth = 4;
seconds.rotation = 0;
seconds.start = [0,20];
seconds.end = [0,-80];
var center = new Circle();
center.ctx = ctx;
center.x = 100;
center.y = 100;
center.radius = 5;
center.fill = true;
center.borderColor = 'orange';
for(var i=0,ls=[],cache;i<12;i++){
cache = ls[i] = new Line();
cache.ctx = ctx;
cache.x = 100;
cache.y = 100;
cache.borderColor = "orange";
cache.borderWidth = 2;
cache.rotation = i * 30;
cache.start = [0,-70];
cache.end = [0,-80];
}
timerId = setInterval(function(){
// 清除画布
ctx.clearRect(0,0,200,200);
// 填充背景色
ctx.fillStyle = 'orange';
ctx.fillRect(0,0,200,200);
// 表盘
circle.update();
// 刻度
for(var i=0;cache=ls[i++];)cache.update();
// 时针
hour.rotation = (new Date()).getHours() * 30;
hour.update();
// 分针
minute.rotation = (new Date()).getMinutes() * 6;
minute.update();
// 秒针
seconds.rotation = (new Date()).getSeconds() * 6;
seconds.update();
// 中心圆
center.update();
},(1000/frameRate)|0);
}else{
alert(.........完整代码请登录后点击上方下载按钮下载查看
















网友评论0