Используйте box2d.ts в обычном javascript для использования в браузере на стороне клиента - PullRequest
0 голосов
/ 23 марта 2020

Я хочу использовать эту библиотеку box2d: https://github.com/flyover/box2d.ts

Он предназначен для использования в плагине для After Effects, который работает в Chromium Embedded Framework (CEF3), так что в основном это то же самое как запустить его в браузере. Я скорее не использую машинопись, но просто использую библиотеку с javascript.

Вопрос 1: Это вообще возможно? Загрузка также включает в себя js файлы.

Вопрос 2: Если да, то как? Если нет, есть ли способ преобразовать библиотеку ts для использования в javascript?

До сих пор я пробовал это. HTML:

<!DOCTYPE html>
<html>
    <head lang="en">
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
        <title>HTML Page</title>
    </head>
    <body>
        <script type="text/javascript" src="js/external/jquery-3.4.1.min.js"></script>
        <script type="text/javascript" src="js/external/require.js"></script>
        <script type="text/javascript" src="js/preview.js"></script>
    </body>
</html>

Javascript:

$(document).ready(function()
{
    var box2d;

    requirejs(["js/external/Box2D/Box2D"], function(box2d)
    {
        box2d = require("./js/external/Box2D/Box2D");
    });

    // I use this to test if library works
    var gravity = new box2d.b2Vec2(0, -10);
    console.log(gravity);
});

Различные ошибки, среди которых «экспорт не определен». Основной файл Box2D. js имеет следующую структуру:

"use strict";
function __export(m) {
    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
exports.__esModule = true;
__export(require("./Common/b2Settings.js"));
__export(require("./Common/b2Math.js"));
__export(require("./Common/b2Draw.js"));
__export(require("./Common/b2Timer.js"));

Спасибо, Якоб

...