2013-09-10 4 views
0

Итак, я просто понял, что Java имеет встроенную систему API, которая работает с JavaScript и, по-видимому, с другими языками сценариев, совместимыми с JSR-223. Теперь я разрабатываю игровой движок, и мне интересно, следует ли мне использовать встроенную поддержку JavaScript или выяснить, как использовать Lua.Использование Java Scripting API w/JavaScript и/или Lua

ВОПРОС: Может ли Java Scripting API легко поддерживать Lua? Если да, то как?

Если вы чувствуете себя так: Будет ли неизвестно, чтобы скриптовая сторона движка игры в JavaScript?

EDIT: Мне нужны возможности сценариев для моего движка, позволяющие создавать ИИ, специальные вокселы (например, блоки в minecraft) и другие дополнения к игре. Я не собираюсь делать все это создание на языке сценариев, потому что сложность этого, но язык сценариев представляется хорошей альтернативой созданию JAR для всего игрового контента. Я просто изучаю, что я могу сделать с Java.

+0

Вы должны указать, какие ваши требования к проекту будут в противном случае, это будет слишком основано на мнениях. – greatwolf

+0

Надеюсь, мое редактирование поможет. – TheNickmaster21

ответ

1

Структура Java Scripting основана на коде, реализующем JSR-223, написанном на Java. Так как lua ​​не будет работать.

Однако вы можете использовать реализацию lua, написанную на Java, такую ​​как luaj, в которую включена поддержка JSR-223.

Примечание: luaj не является полным клон Lua, но это довольно функциональная и позволяет получить доступ к классам Java и т.д.

По вопросу о выборе языка сценариев, как вы используете Java в качестве языка системного программирования , некоторые из преимуществ использования lua как языка сценариев не применяются, например быстрая, малая занимаемая площадь, отличная интеграция C.

Так что это действительно личное предпочтение. Javascript, вероятно, будет в порядке, как и Jypthon, JRuby или luaj.

0

Это не разумная идея сделать игровой движок в JS. Несмотря на возможное (см. Node.js/Three.js), JS довольно медленный, потому что интерпретируется. У Node.js есть JIT-компиляция, но она по-прежнему занимает 3-4 раза (лучший случай) медленнее, чем эквивалент C++.

Я никогда не использовал API-интерфейс Lua или Java, я не могу дать вам ответ на это, но я думаю, что скорость JS изменит ваше мнение.

+0

Я не создаю движок игры в JavaScript. Я делаю свой движок на Java и думаю об использовании JavaScript для всех сценариев в игре. – TheNickmaster21

Смежные вопросы