dir.by  
  Поиск  
Программирование, разработка, тестирование
Разработка игр | для телефонов на Unity, MonoGame | для браузера Google Chrome на JavaScript, HTML | рисуем графику
Моя разработка игр на HTML, Javascript, Typescript
Пишем игру используя HTML, JavaScript, TypeScript в Visual Studio Code. Я создал несколько ts файлов. Поэтому использую Webpack (собирает все файлы в один js)
  Посмотрели 5268 раз(а)    
 Пишем игру используя HTML, JavaScript, TypeScript в Visual Studio Code. Я создал несколько ts файлов. Поэтому использую Webpack (собирает все файлы в один js) 
последнее обновление: 18 августа 2020
Скачать пример
my_typescript_game.zip ...
размер: 3 kb
D:/my_typescript_game
        index.html
        package.json                  файл настройки Node.js (содержит названия пакетов)
        tsconfig.json                  файл настройки TypeScript
        webpack.config.js         файл настройки Webpack (как объединять js файлы в один)
        .vscode
                launch.json            файл настройки для Visual Studio Code (путь к запускаемому файлу)
        src
                game.ts
                imageId.ts
                level.ts
        build
                transformed.js       после запуска Webpack сгенерируется этот файл
Смотрим файлы >> ...
Как запустить пример?
Шаг 1.
Открываем
Visual Studio Code
и выбираем папку
В Visual Studio Code нажимаем на меню FileOpen Folder
и выбираем папку D:/my_typescript_game
Шаг 2.
Устанавливаем библиотеки
В Visual Studio Code нажимаем на меню TerminalNew Terminal
Выполним:
npm install


Смотрите картинку:


Объяснение:
В этом zip архиве нет js библиотек.
Название и версии js библиотек написаны в файле package.json.
При выполнении в командной строке npm install библиотеки с названием и версии из package.json скачаются из интернета и установятся в папку node_modules
Шаг 3.
Компилируем проект
Выполним:
npm run MyBuild


Смотрите картинку:


Объяснение:
Команда npm run MyBuild запускает скрипт MyBuild.
Скрипт MyBuild определен в файле package.json.
Файл D:/my_typescript_game/package.json:
{
...
    "scripts": {
        "MyBuild": "webpack"
    }
...
}

Скрипт MyBuild запустит Webpack:
Webpack запустит TypeScript.
TypeScript сконвертирует наши файлы main.ts, book.ts в файлы main.js, book.js
Webpack соберет файлы main.js, book.js в один файл transformed.js
Шаг 4.
Открываем страницу
В Visual Studio Code нажимаем на меню RunStart Debugging

Смотрите картинку:


В браузере Google Chrome откроется страница с таким адресом: file:///D:/my_typescript_game/index.html
 


Объяснение:
Запускается index.html
потому что файл настройки .vscode/launch.json
{
"version": "0.2.0",
"configurations": [
     {
          "type": "chrome",
          "request": "launch",
          "name": "Launch Chrome",
          "url": "${workspaceFolder}/index.html"
     }
]}

создержит
"url": "${workspaceFolder}/index.html"
На заметку!
Если поменяли файл game.ts или imageId.ts или level.ts то нужно выполнить:
Шаг 3. (компилируем проект)
Шаг 4. (запускаем)
Вывод. Примущества использования TypeScript
1) Typescript использует типы и не будет ошибок в использовании переменных
Например: При написании своей игры на Javascript я всегда использовал у себя ImageId как число

  JavaScript  
function drawImage(ImageId)
{
     ...
}


Плохо: в эту функцию можно было передать число например 12345 drawImage(12345); то есть несуществующую картинку

Хорошо: Сейчас я использую typescript и использую конкретный тип enum
  TypeScript  
enum ImageId
{
     ButtonEda = 1,
}

function drawImage: void(imgId: ImageId)
{
     ...
}

при передачи в функцию я передаю значение из enum и не будет ситуации что я передаю несуществующую картинку.

  TypeScript  
drawImage(ImageId.ButtonEda);
2) Typescript компилируется в Javascript и я могу указать версию Javascript
Я указываю старую версию javascript чтобы javascript у пользователей поддерживался в браузере например в google chrome
Поменять версию можно в tsconfig.json

  json  
{
     "compilerOptions":
     {
          "module": "commonjs",
          "target": "es6",
          "lib": ["es6"],
          "sourceMap": false,
          "outDir": "./build"
     },
     "include": [
          "src/*.ts"
     ],
     "exclude": [
          "node_modules"
     ]
}


я ставлю es5

  json  
{
     "compilerOptions":
     {
          "module": "commonjs",
          "target": "es5",
          "lib": ["es6"],
          "sourceMap": false,
          "outDir": "./build"
     },
     "include": [
          "src/*.ts"
     ],
     "exclude": [
          "node_modules"
     ]
}
 
 
Следующая тема →
Анимация человечка на месте. Используем HTML элемент <div>. Для анимации используем CSS стили: "animation", "background-image", "background-position", "keyframes"
 
Ваши Отзывы ... комментарии ...
   
Вашe имя
Ваш комментарий (www ссылки может добавлять только залогиненный пользователь)

  Объявления  
  Объявления  
 
Моя разработка игр на HTML, Javascript, Typescript
Пишем игру используя HTML, JavaScript, TypeScript в Visual Studio Code. Я создал несколько ts файлов. Поэтому использую Webpack (собирает все файлы в один js)
Анимация человечка на месте. Используем HTML элемент <div>. Для анимации используем CSS стили: "animation", "background-image", "background-position", "keyframes"
Анимация человечка в движении (sprite). Используем HTML элементы <div>, <img>. Для анимации используем CSS стили: "animation", "background-image", "background-position", "keyframes"
Моя игра "Wizard World" | HTML, JavaScript
Habr рассказ "Сетевая игра на HTML, CSS и JavaScript" (nodejs, socket.io для сети, HTML canvas для графики, игровые карты в js задаются)
Habr рассказ "Сетевая игра Танки на HTML, JavaScript" (nodejs, socket.io для сети, библиотека PixiJs для графики)
Моя игра "Animal Go". Технологии: C#, MonoGame, Windows, Android, iOS
Моя игра "Animal Go". Как играть. Описание | Игра написана на C# используя MonoGame (запускается на платформах: Windows, Android, iOS)
Как я пишу игру "Animal Go" на компьютере Windows. Компилирую получаю exe файл и запускаю | C#, MonoGame
Как компилировать и запускать игру "Animal Go" на телефоне или в режиме эмулятора Android на компьютере (Windows) | C#, MonoGame
Как компилировать и запускать игру "Animal Go" для системы iOS | C#, MonoGame
Создание графики, анимации для 2D игры
Какую рисовать картинку для 2D игры: растровую картинку png по точкам или векторную картинку svg по линиям?
2D анимация для игры

  Ваши вопросы присылайте по почте: info@dir.by  
Яндекс.Метрика