matter实现一个带重力感应的2048游戏代码

代码语言:html

所属分类:游戏

代码描述:matter实现一个带重力感应的2048游戏代码,点击橄榄色区域改变重力方向,当四面都有方块接触,且持续 2 秒后游戏结束。

代码标签: 重力 感应 2048 游戏

下面为部分代码预览,完整代码请点击下载或在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