Докуметация Cтарт Статьи Форум Лента Вход
Не официальное русскоязычное сообщество
Главная
    Документация jMonkeyEngine
        jMonkeyEngine SDK: Документация
            Разработки для jMonkeyEngine SDK

Разработки для jMonkeyEngine SDK

Опубликованно: 05.08.2017, 11:59
Последняя редакция, Andry: 17.10.2017 7:53

Обратите внимание, что изложенная здесь информация может быть изменена, так как эти вещи в jMonkeyEngine SDK все еще находится в бета-версии!

В общем, разработка плагинов для jMonkeyEngine SDK не сильно отличается от создания плагинов для платформы NetBeans, которая, в свою очередь, не сильно отличается от создания приложений Swing. Вы можете использовать jMonkeyEngine SDK для разработки плагинов, будь то для личного использования или в качестве своего вклада в труды сообщества.

Если вы хотите добавить дополнение к jMonkeyEngine SDK, не стесняйтесь обращаться к команде jme независимо от ваших знаний в разработке платформы NetBeans. Для новых плагинов базовое создание проекта и компоновка плагина всегда могут обрабатываться основными разработчиками, и вы можете продолжать использовать плагин. Используя функции платформы, ваш плагин больше похож на приложение платформы (глобальная кнопка сохранения, поддержка типа файла и.т.д.).

Создание плагинов и компонентов

Расширение jMonkeyEngine SDK

Рецепты

Общие замечания

  • Помните, что сцена выполняется в потоке рендеринга, и большинство всего, что вы делаете в плагине (кнопки, события и.т.д.), запускается в потоке AWT, всегда инкапсулируйте вызовы в обе стороны правильно, через Callables/Runnables или зарегистрируйтесь как AppState для SceneApplication, чтобы иметь вызов Update() в потоке рендеринга.
  • Хотя сцену можно получить в любое время через SceneApplication.getApplication(), не рекомендуется изменять сцену так. Другие плагины могут получить доступ к сцене, и её обновления не будут правильно распознаны. Используйте объект sceneRequest, поиск выбранных узлов и доступа к файлам такими вещами, как assetManager и.т.д.
  • В jMonkeyEngine SDK стало стандартом использование названий методов, которые выполняются непосредственно в потоке OpenGL с использованием «do» например doMoveSpatial, что облегчает выявление проблем с потоками.
  • AssetManager jme3 является потокобезопасным и может использоваться из любого потока для загрузки игровых ресурсов
  • Вы можете получить доступ к ProjectAssetManager через поиск в JmeSpatial других объектов
  • Используйте org.openide.filesystems.FileObject вместо java.io.File для доступа к файлам, он всегда использует независимые от системы «/ разделители путей» и имеет несколько более сложных функций, упрощающих обработку файлов.
  • Вы можете получать файлы используя строки, с помощью Repository.getDefault().getDefaultFileSystem().getRoot().getFileObject(“aaa/bbb/ccc/whatever);
  • Вы можете преобразовать обычный Java-файл в FileObject и наоборот, используя org.openide.filesystems.FileUtil
  • Если у вас возникли проблемы с неразрешенными классами, проверьте, зарегистрированы ли все необходимые библиотеки в настройках вашего проекта. Чтобы узнать, какая библиотека содержит определенный класс, просто введите нужное название в поле поиска библиотеки.

Используемая здесь терминология

  • «Плагин(Подключаемый модуль)» — это все, что вы можете отметить в центре обновления SDK. Он может содержать редакторы, простые «Java SE Библиотеки», которые вы можете добавить в свои проекты в качестве jar файлов и другие вещи, такие как шаблоны проектов и.т.д.
  • «Модуль» — это тип проекта, который позволяет создавать плагины, строго говоря, все плагины являются модулями, но могут быть модули, которые никогда не отображаются в списке плагинов и существуют только в качестве зависимостей других модулей.
  • «Библиотека» — это точки входа для jar файла (и, возможно, источник javadocs), которые могут быть добавлены в проект в SDK, которые будет использоваться и распространяться вместе с ним
  • «Расширение» — это общее имя для вещей, которые расширяет движок jME, например алгоритмы поиска путей или все, что можно использовать в игровой среде исполнения.

Поэтому, если у вас есть классный код, который другие могут использовать в своих играх, вы можете сделать свой расширяющий модуль библиотекой, создав модуль, который пользователи могут скачать как плагин 😊

Удобные вещи в Ядре jQonkeyEngine SDK

  • com.jme3.gde.core.scene.controller
  • AbstractCameraController → Базовое управление камерой для плагинов, использует SimpleSceneComposer и View Model
  • SceneToolController → Базовый контроллер для выбора, курсора и.т.д., отображаемого в сцене, использует SimpleSceneComposer
  • com.jme3.gde.core.scene
  • OffViewPanel → Панель, которая отображает 3D-сцену в пред просмотре и отображает ее на облегченный swing панели
  • com.jme3.gde.core.util
  • DataObjectSaveNode → Разрешает включение кнопки «Сохранить все» с для любого файла и самостоятельной реализации SvaeCookie.
  • Подробнее о разработке плагинов NetBeans: platform.netbeans.org Платформа NetBeans

    Также ознакомьтесь с этой Essential NetBeans Platform Refcard: refcardz.dzone.com Основная платформа NetBeans


    Переведено для jmonkeyengine.ru, оригинал
    Автор перевода: Andry

    Добавить комментарий

    jMonkeyEngine.ru © 2017. Все права сохранены.