❤️ Мини-игра с огнедышащим драконом на основе HTML, CSS и Three.js ❤️

внешний интерфейс JavaScript игра
❤️ Мини-игра с огнедышащим драконом на основе HTML, CSS и Three.js ❤️

Это 31-й день моего участия в августовском испытании обновлений. Узнайте подробности события:Испытание августовского обновления

Моя домашняя страница Наггетс:Хай Йонг

Самая большая мотивация для изучения языка — это интерес, за которым следует стигматизация.

❤️ Мини-игры с огнедышащим драконом на основе HTML, CSS и JS ❤️

Раньше я делал больше типов апплетов HTML. Вы можете проверить эти проекты, если хотите.

Создание аналоговых часов с помощью HTML, CSS и JavaScript (учебник для начинающих)
JavaScript создает цифровые часы в стиле неоморфизма
Генератор случайных паролей, созданный с помощью HTML, CSS и JavaScript
Создайте отличное веб-приложение о погоде, используя HTML, CSS, JS и API.

Мини-игра с огнедышащим драконом [живая демоверсия]

Если вы хотите узнать, как работает эта игра спрей дракона, вы можете попробовать следующую демонстрацию. Здесь я предоставляю исходный код необходим, чтобы вы могли скопировать код и использовать его в своем собственном обучении (в небольшом разнице), работают (коснитесь рыбы).

Демонстрационный адрес:haiyong.site/penhuolong(открыть в браузере)

penhuolong.gif

Как вы можете видеть на изображении выше, здесь я сделал простую игру с огнедышащим драконом, используя HTML, CSS и JavaScript.

HTML-код

<body>
    <div id="world"></div>
    <div id="instructions">
        <span class="lightInstructions">你点击的时间越长,它打喷嚏的力度越大</span><br />
        <span class="lightInstructions">- 按住并拖动可转身 -</span></div>
    <div id="credits">
        <p>Prints on <a class="society6" href="https://juejin.cn/user/2040341402229751" target="blank">haiyong</a>
            | <a href="http://haiyong.site/game" target="blank">Game</a>
            | <a href="http://haiyong.site" target="blank">haiyong.site</a>
        </p>
    </div>
    <div id="power">00</div>
</body>

CSS-код

Установите стиль общего div, world

#world {
  background: #652e37;
  position: absolute;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

Установить отображаемый текст:

Чем дольше щелкаешь, тем сильнее чихает

  • Удерживайте и перетащите, чтобы повернуться -
#instructions {
  position: absolute;
  width: 100%;
  top: 50%;
  margin: auto;
  margin-top: 120px;
  font-family: "Open Sans", sans-serif;
  color: #fdde8c;
  font-size: 0.8em;
  text-transform: uppercase;
  text-align: center;
  line-height: 1.5;
  user-select: none;
}
.lightInstructions {
  color: #f89a78;
  font-size: 1.6em;
}

Для того, чтобы сделать его пригодным для маленьких экранов, шрифты не будут такими мелкими, для разделения элементов на маленьких экранах я установил здесь медиа-запрос

@media screen and (max-width:600px) {
  #instructions {
    top: 50%;
  }
  .lightInstructions {
    font-size: 1.5em;
  }
}

@media screen and (max-width:470px) {
  #instructions {
    top: 60%;
  }
  .lightInstructions {
    font-size: 1.3em;
  }
}

JS-код

Во-первых, создайте базовую сцену. В Three.js есть три элемента: сцена, камера и средство визуализации. Только их комбинация может отображать видимый контент. Конечно, перед этим вам нужно сначала загрузить файл Three.js, выполнить поиск Three.js напрямую на Baidu и загрузить его с официального сайта.После завершения загрузки создайте новый html-файл и импортируйте Three.js. Здесь я прямо цитирую чужое

<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r70/three.min.js"></script>

Инициализировать ТРИ JS, события экрана и мыши

function init() {
    powerField = document.getElementById("power");

    scene = new THREE.Scene();
    scene.fog = new THREE.Fog(0x652e37, 350, 500);

    HEIGHT = window.innerHeight;
    WIDTH = window.innerWidth;
    aspectRatio = WIDTH / HEIGHT;
    fieldOfView = 60;
    nearPlane = 1;
    farPlane = 2000;
    camera = new THREE.PerspectiveCamera(
    fieldOfView,
    aspectRatio,
    nearPlane,
    farPlane
    );
    camera.position.x = -300;
    camera.position.z = 300;
    camera.position.y = 100;
    camera.lookAt(new THREE.Vector3(0, 0, 0));
    renderer = new THREE.WebGLRenderer({
    alpha: true,
    antialias: true
    });
    renderer.setPixelRatio(window.devicePixelRatio);
    renderer.setSize(WIDTH, HEIGHT);
    renderer.shadowMapEnabled = true;
    container = document.getElementById("world");
    container.appendChild(renderer.domElement);
    windowHalfX = WIDTH / 2;
    windowHalfY = HEIGHT / 2;
    window.addEventListener("resize", onWindowResize, false);
    document.addEventListener("mouseup", handleMouseUp, false);
    document.addEventListener("touchend", handleTouchEnd, false);
    //*
    controls = new THREE.OrbitControls(camera, renderer.domElement);
    controls.minPolarAngle = -Math.PI / 2;
    controls.maxPolarAngle = Math.PI / 2;
    controls.noZoom = true;
    controls.noPan = true;
    //*/
}

Код JS слишком длинный, поэтому я не буду показывать его здесь по отдельности, я выложу весь код на GitHub, или вы можете разместить его прямо на моем сайте.Хай ЙонгПерейдите к F12, а затем CV

🛬 Уху! Взлетайте!

Надеюсь, вы узнали из этого урока, как я создал эту маленькую игру про огнедышащего дракона, используя HTML, CSS и Three.js. Если хотите, вы можете ответить на код в моем официальном аккаунте, чтобы получить полный исходный код.

Раньше я делал гаджеты других типов с использованием HTML, CSS и JavaScript. Если хотите, ознакомьтесь с дизайном.

Front-end качественная колонка проекта на основе HTML, CSS, JS
Генератор случайных паролей, созданный с помощью HTML, CSS и JavaScript
🏆 с использованием HTML, CSS и JavaScript аналоговых часов крутая черная тема
Создайте отличное веб-приложение о погоде, используя HTML, CSS, JS и API.

Я давно веду блог о технологиях, в основном через Nuggets, мой небольшой учебник по веб-играм. Я люблю делиться технологиями и радостью через статьи. Вы можете посетить мой блог:Талант /user/204034…Чтобы получить больше информации. Надеюсь, вам это понравится! 😊

💌 Все желающие могут оставлять комментарии и предложения в комментариях! 💌

Если вы действительно узнали что-то новое из этой статьи, ставьте лайк, добавляйте в закладки и делитесь с друзьями. 🤗Наконец, не забудьте поставить ❤ или 📑 в поддержку.