matter实现一个带重力感应的2048游戏代码
代码语言:html
所属分类:游戏
代码描述:matter实现一个带重力感应的2048游戏代码,点击橄榄色区域改变重力方向,当四面都有方块接触,且持续 2 秒后游戏结束。
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<h2>
点击橄榄色区域改变重力方向
</h2>
<canvas id="box" >
你的浏览器可能太古老了……
</canvas>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/matter.0.16.0.js"></script>
<script>
var box = document.getElementById("box");
Ma = Matter;
// module aliases
var Engine = Ma.Engine,
Render = Ma.Render,
World = Ma.World,
Composite = Ma.Composite,
Detector = Ma.Detector,
Events = Ma.Events,
Body = Ma.Body,
Bodies = Ma.Bodies;
// create an engine
var engine = Engine.create();
var a = 38;
// var a=40/(1+Math.sqrt(2))
var octagon = [
{ x: -a, y: 46 },
{ x: a, y: 46 },
{ x: 46, y: a },
{ x: 46, y: -a },
{ x: a, y: -46 },
{ x: -a, y: -46 },
{ x: -46, y: -a },
{ x: -46, y: a },
];
function new_block(x, y, label, angle = 0) {
var options = {
label: label,
friction: 0.2,
frictionStatic: 0.25,
angle: angle,
density: 0.001 * Math.log(Number(label)),
restitution: 0.7
};
return Bodies.fromVertices(x,y,octagon,options);
}
var colors = ["#DEB887", "#FFD700", "#FFA500", "#B8860B", "#CD853F", "#8B4513"];
var wall_options = { isStatic: true, label: "wall" };
.........完整代码请登录后点击上方下载按钮下载查看
















网友评论0