canvas塔防小游戏代码

代码语言:html

所属分类:游戏

代码描述:canvas塔防小游戏代码,可随意点击设置攻击位置,还可以选择攻击参数,不能让敌人过右边的红线。

代码标签: canvas 塔防 小游戏 代码

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

<!DOCTYPE html>
<html lang="en" >

<head>
  <meta charset="UTF-8">
  


  
  
  
<style>
html,
body,
main {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  justify-content: center;
}

canvas {
  outline: solid 20px black;
  background: black;
  border-radius: 10px;
}
</style>


  
  
</head>

<body >
  
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/p5.1.6.0.js"></script>
      <script >
"use strict";
console.clear();
function setup() {
    canvas = createCanvas(800, 600);
    colorMode(HSL);
    restart();
}
let canvas;
let scene;
let mouseVector;
function restart() {
    mouseVector = null;
    scene = new Scene({ health: 100, gameOver: false, canAddTurretAtMouse: false, canvas });
    scene.add(new Turret(createVector(2 * width / 3, height / 2)));
    loop();
}
function spawnEnemy() {
    scene.add(new Enemy());
}
function tryAddTurretAtMouse() {
    if (!scene.data.gameOver && scene.data.canAddTurretAtMouse) {
        scene.add(new Turret(mouseVector));
    }
}
function checkForGameOver() {
    if (scene.data.health <= 0) {
        scene.data.gameOver = true;
    }
    return scene.data.gameOver;
}
/**
 * ==============
 *  P5 Lifecycle
 * ==============
 */
function keyPressed() {
    if (key === "r") {
        restart();
    }
}
function mousePressed() {
    tryAddTurretAtMouse();
    scene.executeListeners("mousepressed");
}
function draw() {
    background(11);
    mouseVector = createVector(mouseX, mouseY);
    if (checkForGameOver()) {
        drawGameOver();
        return;
    }
    scene.update();
    if (frameCount % 30 === 0) {
        spawnEnemy();
    }
    // Draw hover turret
    scene.data.canAddTurretAtMouse = false;
    let hoverTurret;
    const turretNearMouse = scene.closest(mouseVector, "turret", 100);
    if (inBounds(mouseVect.........完整代码请登录后点击上方下载按钮下载查看

网友评论0