processing+canvas实现形状入侵射击闯关类小游戏代码

代码语言:html

所属分类:游戏

代码描述:processing+canvas实现形状入侵射击闯关类小游戏代码,按住键盘左右方向键控制飞船左右移动,按住键盘d键发射子弹攻击目标,按键盘p键暂停游戏,每一关卡有三次复活机会,最后一关还有大boss。

代码标签: processing canvas 形状 入侵 射击 闯关 游戏

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">





    <style>
        * {
          margin: 0;
          box-sizing: border-box;
          overflow: hidden;
        }
        
        body {
          background: #111;
          width: 100%;
          height: 100vh;
          display: flex;
          justify-content: center;
          align-items: center;
        }
        body canvas {
          box-shadow: 0.2em 0.2em 2em #0008;
          border: none;
          outline: none;
        }
    </style>



</head>

<body>
    <canvas id="canvas"></canvas>
    <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/processing.min.js"></script>


    <script>
        var sketchProc = function(processingInstance) {
          with (processingInstance) {
            size(600, 600); 
            frameRate(60);    
            smooth();
            
        /*  ADD YOUR OWN LEVELS HERE (Boss level must be the last one)
            Must be 10 columns x 9 rows
            X = Blank space
            Y = Barrier (blocks)
            1, 2, 3, 4 = Enemies
            P = Portal (random portal enemies emerge from portals)
            B = Boss (random boss enemies emerge from the boss)
        */
        var levels = [
            {}, //start screen (Home | Levels | How | Scores | etc.)
            {
                grid: [
                    "XXXXXXXXXX",
                    "XXXXXXXXXX",
                    "X11111111X",
                    "X11111111X",
                    "X11111111X",
                    "XXXXXXXXXX",
                    "XXXXXXXXXX",
                    "XXXXXXXXXX",
                    "XYYXYYXYYX"
                ],
                enemyPoints: 10,
                story: ("Your mission is to destroy the enemy")
            }, //Level 1
            {
                grid: [
                    "XXXXXXXXXX",
                    "X2121P12XX",
                    "XX1212121X",
                    "X2121212XX",
                    "XX1212121X",
                    "XXXXXXXXXX",
                    "YXXXXXXXXY",
                    "XXXXXXXXXX",
                    "YXXXYYXXXY"
                ],
                enemyPoints: 15,
                story: ("Well done!!\nYour next mission is to destroy more enemies")
            }, //Level 2
            {
                grid: [
                    "XXXXXXXXXX",
                    "XXXPXXPXXX",
                    "XX222222XX",
                    "XXX1111XXX",
                    "XX333333XX",
                    "X33211233X",
                    "XXXXXXXXXX",
                    "XYYXXXXYYX",
                    "YXXXYYXXXY"
                ],
                enemyPoints: 20,
                story: ("Awesome work!!\nYour next mission is to destroy even more enemies")
            }, //Level 3
            {
                grid: [
                    "XXXXXXXXXX",
                    "XPXXPXXPXX",
                    "XX222222XX",
                    "XXX1111XXX",
                    "XX333333XX",
                    "X33211233X",
                    "XXXXXXXXXX",
                    "XYYXXXXYYX",
                    "YXXXYYXXXY"
                ],
                enemyPoints: 30,
                story: ("Wicked!!\nNow you get to destroy even more enemies")
            }, //Level 4
            {
                grid: [
                    "XXXXXXXXXX",
                    "X4P4444P4X",
                    "X31231231X",
                    "X44444444X",
                    "X21212121X",
                    "YXXXXXXXXY",
                    "XXXYXXYXXX",
                    "YYYXYYXYYY",
                    "XXXXXXXXXX"
                ],
                enemyPoints: 100,
                story: ("Almost there!!\nYour next mission is to destroy something")
            }, //Level 5
            {
                grid: [
                    "XXXXXXXXXX",
                    "XXXXBPXXXX",
                    "XX13XX31XX",
                    "XXXX33XXXX",
                    "XXX1221XXX",
                    "YXXXXXXXXY",
                    "XXXYXXYXXX",
                    "YXYXXXXYXY",
                    "XXXXXXXXXX"
                ],
                enemyPoints: 150,
                story: ("Youza!!\nGet ready to meet the BOSS (lite)"),
                bossLives: 5
            }, //Level 6 - Boss (lite)
            {
                grid: [
                    "XXXXXXXXXX",
                    "XXXXBPXXXX",
                    "XX13XX31XX",
                    "XXX4334XXX",
                    "XXX2121XXX",
                    "YXXXXXXXXY",
                    "XXXYXXYXXX",
                    "YXYXYYXYXY",
                    "XXXXXXXXXX"
                ],
                enemyPoints: 150,
                story: ("Sick!!\nTime to destroy the BOSS (medium)"),
                bossLives: 15
            }, //Level 7 - Boss (medium)
            {
                grid: [
                    "XXXXXXXXXX",
                    "YYXXPBPXYY",
                    "XXX3333XXX",
                    "YYXX44XXYY",
                    "XYY4444YYX",
                    "YXYY44YYXY",
                    "XYYX33XYYX",
                    "XYYYYYYYYX",
                    "XXXXXXXXXX"
                ],
                enemyPoints: 250,
                story: ("You da bomb!\nFinal showdown with the real BOSS"),
                bossLives: 25
            }  //Level 8 - Boss (finale)
        ];
        
        /*  ADD YOUR OWN COLOR THEMES HERE (Each theme must include a name and exactly 5 colors)
            Try to use light to dark, or dark to light so you get a better contrast in the game
        */
        var colorThemes = [
            {
                name: "vibes",
                colors: [
                    color(0, 48, 73),
                    color(232, 226, 136),
                    color(214, 40, 40),
                    color(247, 127, 0),
                    color(252, 191, 73)
                ]
            },
                {
                name: "chalkboard", //by RandomProgrammer24
                colors: [
                    color(64),
                    color(232, 213, 93),
                    color(162, 219, 216),
                    color(209, 182, 192),
                    color(209, 230, 207),
                ]
            },
            {
                name:"fire", //by Sreenjoy Modak
                colors:[
                color(255),
                color(255,98,0),
                color(255,187,0),
                color(240, 140, 0),
                color(255, 181, 71)
                ]
            },
            {
                name: "desert", //by Benji Doerr
                colors: [
                    color(0, 0, 0),
                    color(235, 215, 0),
                    color(137, 148, 92),
                    color(186, 89, 4),
                    color(255, 0, 0)
                ]
            },
            {
                name: "birthday party", //by Benji Doerr
                colors: [
                    color(112, 17, 109),
                    color(202, 5, 77),
                    color(240, 82, 216),
                    color(127, 204, 255),
                    color(244, 252, 0)
                ]
            },
            {
                name: "contemporary",
                colors: [
                    color(26, 26, 28),
                    color(78, 78, 80),
                    color(111, 34, 50),
                    color(149, 7, 65),
                    color(195, 8, 63)
                ]
            },
            {
                name: "futuristic",
                colors: [
                    color(44, 53, 50),
                    color(16, 100, 102),
                    color(216, 176, 140),
                    color(255, 203, 155),
                    color(210, 233, 227)
                ]
            },
            {
                name: "audacious",
                colors: [
                    color(39, 39, 39),
                    color(116, 116, 116),
                    color(255, 101, 47),
                    color(255, 228, 1),
                    color(19, 167, 107)
                ]
            },
            {
                name: "citrus",
                colors: [
                    color(31, 38, 5),
                    color(31, 100, 33),
                    color(83, 144, 15),
                    color(164, 166, 30),
                    color(214, 206, 20)
                ]
            },
            {
                name: "playing arts",
                colors: [
                    color(0, 127, 112),
                    color(69, 69, 64),
                    color(139, 42, 49),
                    color(177, 125, 89),
                    color(255, 255, 255)
                ]
            },
            {
                name: "civic",
                colors: [
                    color(64, 61, 62),
                    color(61, 158, 204),
                    color(238, 71, 49),
                    color(248, 249, 251),
                    color(54, 174, 91)
                ]
            },
            {
                name: "unnamed",
                colors: [
                    color(46, 53, 50),
                    color(220, 220, 221),
                    color(148, 149, 139),
                    color(175, 28, 28),
                    color(183, 182, 193)
                ]
            },
            {
                name: "sunset",
                colors: [
                    color(114, 17, 33),
                    color(202, 5, 77),
.........完整代码请登录后点击上方下载按钮下载查看

网友评论0