dir.by  
  Поиск  
Компьютер, программы
Разработка игр | для телефонов на Unity, MonoGame | для браузера Google Chrome на JavaScript, HTML | рисуем графику
Моя разработка игр на HTML, Javascript, Typescript
 Пишем игру используя HTML, JavaScript, TypeScript в Visual Studio Code. Я создал несколько ts файлов. Поэтому использую Webpack (собирает все файлы в один js) 
посмотрели 6278 раз
обновлено: 18 Augusta 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 сгенерируется этот файл
Let's look at файлы >> ...
Как запустить пример?
Шаг 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"
     ]
}
 
 
Next topic →
Анимация человечка на месте. Используем HTML элемент <div>. Для анимации используем CSS стили: "animation", "background-image", "background-position", "keyframes"
 
Your feedback ... Comments ...
   
Your Name
Your comment (www links can only be added by a logged-in user)

Экскурсии по Москве Экскурсии по Москве: пешеходные, автобусные и речные прогулки на любой вкус
Анонс! Ярмарка вакансий для молодежи, работа (учащихся, которые хотели бы подработать в свободное время, а также выпускники)|||Минск, Витебск, Гомель, Гродно, Могилев, Борисов, Полоцк, Брест, Барановичи, Пинск с 13 по 17 апреля 2026
  Объявления  
  Объявления  
 
Моя разработка игр на 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"
My Game "Wizard World" | HTML, JavaScript
Habr story [kavichka]Network game in HTML, CSS and JavaScript[kavichka] (nodejs, socket.io for the web, HTML canvas for graphics, game maps in js are set)
Habr story [kavichka]Network game Tanks in HTML, JavaScript[kavichka] (nodejs, socket.io for the web, PixiJs library for graphics)
Моя игра "Animal Go". Технологии: C#, MonoGame, Windows, Android, iOS
My game is "Animal Go". How to play. Description | The game is written in C# using MonoGame (runs on platforms: Windows, Android, iOS)
How do I write a game "Animal Go" on a computer Windows. I compile, get the exe file and run it | C#, MonoGame
How to compile and run the game "Animal Go" on your phone or in emulator mode Android on your computer (Windows) | C#, MonoGame
How to compile and run the game "Animal Go" for the system iOS | C#, MonoGame
Создание графики, анимации для 2D игры
Какую рисовать картинку для 2D игры: растровую картинку png по точкам или векторную картинку svg по линиям?
2D анимация для игры

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