| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width,initial-scale=1">
- <title>jMonkeyEngine SDK: Sample Code :: jMonkeyEngine Docs</title>
- <link rel="canonical" href="https://wiki.jmonkeyengine.org/docs/sdk/sample_code.html">
- <meta name="keywords" content="documentation, sdk, asset, project">
- <meta name="generator" content="Antora 2.3.3">
- <link rel="stylesheet" href="../../_/css/site.css">
- <meta property="og:image" content="https://wiki.jmonkeyengine.org/_/img/iconx128.png">
- <meta property="og:description" content="jMonkeyEngine SDK: Sample Code">
- <meta property="og:title" content="jMonkeyEngine Docs">
- <link rel="stylesheet" href="../../_/css/site-extra.css">
- <link rel="icon" href="../../_/img/favicon.ico" type="image/x-icon">
- </head>
- <body class="article">
- <header class="header">
- <nav class="navbar">
- <div class="navbar-brand">
- <a class="navbar-item" href="https://wiki.jmonkeyengine.org">
- <img alt="" src="../../_/img/jMonkeyDocLogo.png" height="32" type="image/x-icon">
- </a>
- <div class="navbar-item hide-for-print">
- <input type="text" placeholder="Search docs..." id="search-input"/>
- </div>
- <button class="navbar-burger" data-target="topbar-nav">
- <span></span>
- <span></span>
- <span></span>
- </button>
- </div>
- <div id="topbar-nav" class="navbar-menu">
- <div class="navbar-end">
- <div class="navbar-item theme-switch-wrapper">
- <label class="theme-switch" for="checkbox">
- <input type="checkbox" id="checkbox" />
- <div class="slider round"></div>
- </label>
- </div>
- <a class="navbar-item" href="https://github.com/jmonkeyengine/wiki">Github</a>
- </div>
- </div>
- </nav>
- </header>
- <div class="body">
- <div class="nav-container" data-component="docs" data-version="master">
- <aside class="nav">
- <div class="panels">
- <div class="nav-panel-menu is-active" data-panel="menu">
- <nav class="nav-menu">
- <h3 class="title"><a href="../documentation.html">Docs</a></h3>
- <ul class="nav-list">
- <li class="nav-item" data-depth="0">
- <ul class="nav-list">
- <li class="nav-item" data-depth="1">
- <a class="nav-link" href="../documentation.html">Getting Started</a>
- </li>
- <li class="nav-item" data-depth="1">
- <a class="nav-link" href="https://javadoc.jmonkeyengine.org/v3.3.2-stable">JavaDoc</a>
- </li>
- <li class="nav-item" data-depth="1">
- <button class="nav-item-toggle"></button>
- <a class="nav-link" href="../jme3.html">jMonkeyEngine 3</a>
- <ul class="nav-list">
- <li class="nav-item" data-depth="2">
- <button class="nav-item-toggle"></button>
- <span class="nav-text">Beginner Tutorials</span>
- <ul class="nav-list">
- <li class="nav-item" data-depth="3">
- <a class="nav-link" href="../jme3/beginner/hello_simpleapplication.html">Hello SimpleApplication</a>
- </li>
- <li class="nav-item" data-depth="3">
- <a class="nav-link" href="../jme3/beginner/hello_node.html">Hello Node</a>
- </li>
- <li class="nav-item" data-depth="3">
- <a class="nav-link" href="../jme3/beginner/hello_asset.html">Hello Asset</a>
- </li>
- <li class="nav-item" data-depth="3">
- <a class="nav-link" href="../jme3/beginner/hello_main_event_loop.html">Hello Main Event Loop</a>
- </li>
- <li class="nav-item" data-depth="3">
- <a class="nav-link" href="../jme3/beginner/hello_input_system.html">Hello Input System</a>
- </li>
- <li class="nav-item" data-depth="3">
- <a class="nav-link" href="../jme3/beginner/hello_material.html">Hello Material</a>
- </li>
- <li class="nav-item" data-depth="3">
- <a class="nav-link" href="../jme3/beginner/hello_animation.html">Hello Animation</a>
- </li>
- <li class="nav-item" data-depth="3">
- <a class="nav-link" href="../jme3/beginner/hello_picking.html">Hello Picking</a>
- </li>
- <li class="nav-item" data-depth="3">
- <a class="nav-link" href="../jme3/beginner/hello_collision.html">Hello Collision</a>
- </li>
- <li class="nav-item" data-depth="3">
- <a class="nav-link" href="../jme3/beginner/hello_terrain.html">Hello Terrain</a>
- </li>
- <li class="nav-item" data-depth="3">
- <a class="nav-link" href="../jme3/beginner/hello_audio.html">Hello Audio</a>
- </li>
- <li class="nav-item" data-depth="3">
- <a class="nav-link" href="../jme3/beginner/hello_effects.html">Hello Effects</a>
- </li>
- <li class="nav-item" data-depth="3">
- <a class="nav-link" href="../jme3/beginner/hello_physics.html">Hello Physics</a>
- </li>
- </ul>
- </li>
- <li class="nav-item" data-depth="2">
- <button class="nav-item-toggle"></button>
- <span class="nav-text">Intermediate Tutorials</span>
- <ul class="nav-list">
- <li class="nav-item" data-depth="3">
- <button class="nav-item-toggle"></button>
- <span class="nav-text">Concepts</span>
- <ul class="nav-list">
- <li class="nav-item" data-depth="4">
- <a class="nav-link" href="../jme3/intermediate/best_practices.html">Best Practices</a>
- </li>
- <li class="nav-item" data-depth="4">
- <a class="nav-link" href="../jme3/intermediate/simpleapplication.html">Simple Application</a>
- </li>
- <li class="nav-item" data-depth="4">
- <a class="nav-link" href="../jme3/features.html">Features</a>
- </li>
- <li class="nav-item" data-depth="4">
- <a class="nav-link" href="../jme3/intermediate/optimization.html">Optimization</a>
- </li>
- <li class="nav-item" data-depth="4">
- <a class="nav-link" href="../jme3/faq.html">FAQ</a>
- </li>
- </ul>
- </li>
- <li class="nav-item" data-depth="3">
- <button class="nav-item-toggle"></button>
- <span class="nav-text">Math Concepts</span>
- <ul class="nav-list">
- <li class="nav-item" data-depth="4">
- <a class="nav-link" href="../jme3/math_for_dummies.html">Math For Dummies</a>
- </li>
- <li class="nav-item" data-depth="4">
- <a class="nav-link" href="../jme3/intermediate/math.html">Math</a>
- </li>
- <li class="nav-item" data-depth="4">
- <a class="nav-link" href="../jme3/math.html">More Math</a>
- </li>
- <li class="nav-item" data-depth="4">
- <a class="nav-link" href="../jme3/rotate.html">Rotate</a>
- </li>
- <li class="nav-item" data-depth="4">
- <a class="nav-link" href="../jme3/math_video_tutorials.html">Math Video Tutorials</a>
- </li>
- </ul>
- </li>
- <li class="nav-item" data-depth="3">
- <button class="nav-item-toggle"></button>
- <span class="nav-text">3D Graphics Concepts</span>
- <ul class="nav-list">
- <li class="nav-item" data-depth="4">
- <a class="nav-link" href="../jme3/intermediate/multi-media_asset_pipeline.html">Multi-Media Asset Pipeline</a>
- </li>
- <li class="nav-item" data-depth="4">
- <a class="nav-link" href="../jme3/scenegraph_for_dummies.html">Scenegraph for Dummies</a>
- </li>
- <li class="nav-item" data-depth="4">
- <a class="nav-link" href="../jme3/beginner/hellovector.html">Hello Vector</a>
- </li>
- <li class="nav-item" data-depth="4">
- <a class="nav-link" href="../jme3/terminology.html">Terminology</a>
- </li>
- <li class="nav-item" data-depth="4">
- <a class="nav-link" href="../jme3/intermediate/how_to_use_materials.html">How to Use Materials</a>
- </li>
- <li class="nav-item" data-depth="4">
- <a class="nav-link" href="../jme3/intermediate/transparency_sorting.html">Transparency and Sorting</a>
- </li>
- <li class="nav-item" data-depth="4">
- <a class="nav-link" href="../jme3/external/blender.html">Importing from Blender</a>
- </li>
- <li class="nav-item" data-depth="4">
- <a class="nav-link" href="../jme3/external/3dsmax.html">Importing from 3DS Max</a>
- </li>
- </ul>
- </li>
- </ul>
- </li>
- </ul>
- </li>
- <li class="nav-item" data-depth="1">
- <a class="nav-link" href="../logo.html">Logo Usage</a>
- </li>
- <li class="nav-item" data-depth="1">
- <a class="nav-link" href="../bsd_license.html">License</a>
- </li>
- <li class="nav-item" data-depth="1">
- <a class="nav-link" href="../github_tips.html">Github Tips</a>
- </li>
- </ul>
- </li>
- <li class="nav-item" data-depth="0">
- <button class="nav-item-toggle"></button>
- <span class="nav-text">SDK</span>
- <ul class="nav-list">
- <li class="nav-item" data-depth="1">
- <a class="nav-link" href="../sdk.html">jMonkeyEngine SDK</a>
- </li>
- </ul>
- </li>
- </ul>
- </nav>
- </div>
- <div class="nav-panel-explore" data-panel="explore">
- <div class="context">
- <span class="title">Docs</span>
- <span class="version">master</span>
- </div>
- <ul class="components">
- <li class="component is-current">
- <span class="title">Docs</span>
- <ul class="versions">
- <li class="version is-current is-latest">
- <a href="../documentation.html">master</a>
- </li>
- </ul>
- </li>
- <li class="component">
- <span class="title">Wiki UI</span>
- <ul class="versions">
- <li class="version is-latest">
- <a href="../../wiki-ui/index.html">master</a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </aside>
- </div>
- <main class="article">
- <div class="toolbar" role="navigation">
- <button class="nav-toggle"></button>
- <nav class="breadcrumbs" aria-label="breadcrumbs">
- <ul>
- <li><a href="../documentation.html">Docs</a></li>
- <li><a href="sample_code.html">jMonkeyEngine SDK: Sample Code</a></li>
- </ul>
- </nav>
- <div class="edit-this-page"><a href="https://github.com/jMonkeyEngine/wiki/edit/master/docs/modules/ROOT/pages/sdk/sample_code.adoc">Edit this Page</a></div>
- </div>
- <div class="content">
- <article class="doc">
- <h1 class="page">jMonkeyEngine SDK: Sample Code</h1>
- <div id="preamble">
- <div class="sectionbody">
- <div class="paragraph">
- <p>You can run example code by opening an included JME3Tests project and included assets. You can also search the built-in documentation or drag and drop code snippets from the Palette in the SDK to get short code sample.</p>
- </div>
- </div>
- </div>
- <div class="sect1">
- <h2 id="code-palette-and-samples-in-the-sdk"><a class="anchor" href="#code-palette-and-samples-in-the-sdk"></a>Code Palette and Samples in the SDK</h2>
- <div class="sectionbody">
- <div class="ulist">
- <ul>
- <li>
- <p>Type a keyword into the search box in the SDK or press <kbd>F1</kbd> to search the built-in help for sample code.</p>
- </li>
- <li>
- <p><a href="code_editor.html" class="page">SDK code editor and palette</a></p>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="sect1">
- <h2 id="the-jme3tests-project-template"><a class="anchor" href="#the-jme3tests-project-template"></a>The JME3Tests Project Template</h2>
- <div class="sectionbody">
- <div class="paragraph">
- <p>The jMonkeyEngine SDK contains a Test Project with lots of sample code and assets. The Test Project is all set up and ready to run, and it’s easy to use for beginners (no need to mess with classpaths or libraries).</p>
- </div>
- <div class="olist arabic">
- <ol class="arabic">
- <li>
- <p>Install and Open the jMonkeyEngine <a href="../sdk.html" class="page">SDK</a>.</p>
- </li>
- <li>
- <p>Go to <code><span class="menuseq"><b class="menu">File</b> <i class="fa fa-angle-right caret"></i> <b class="menuitem">New Project</b></span></code>.</p>
- </li>
- <li>
- <p>In the New Project Wizard, select <code>JME3 Tests</code> from the <code>JME3</code> category. Click <code><b class="button">Next</b></code>.</p>
- </li>
- <li>
- <p>Specify a location, e.g. create a jMonkeyProjects directory in your home directory. Click <code><b class="button">Finish</b></code>.</p>
- </li>
- </ol>
- </div>
- <div class="paragraph">
- <p>This default project template creates a project called <code>JmeTests</code>. It contains all test classes and examples from the jme3 source repository. Feel free to modify the code samples and experiment! In the unlikely event that you should break the project, <img class="emoji" draggable="false" height="24px" width="24px" src="https://twemoji.maxcdn.com/2/svg/1f603.svg" /> you can always recreate all packaged samples by creating another project from the New Project wizard’s <code>JME3 Tests</code> template.</p>
- </div>
- <div class="paragraph">
- <p>If you’re using the 3.1.0-Stable+ version of the SDK, you will need to set the <code>Source/Binary Format</code> from the <code>Project Properties</code> window to Java 1.7 or later.</p>
- </div>
- <div class="ulist">
- <ul>
- <li>
- <p>To change the source, <code><b class="button">RMB</b></code> select the jmeTestProject and then select <code><span class="menuseq"><b class="menu">Properties</b> <i class="fa fa-angle-right caret"></i> <b class="submenu">Sources</b> <i class="fa fa-angle-right caret"></i> <b class="menuitem">Source/Binary Format</b></span></code>, or from the File menu, with the jmeTestProject selected, <code><span class="menuseq"><b class="menu">File</b> <i class="fa fa-angle-right caret"></i> <b class="submenu">Project Properties</b> <i class="fa fa-angle-right caret"></i> <b class="submenu">Sources</b> <i class="fa fa-angle-right caret"></i> <b class="menuitem">Source/Binary Format</b></span></code>.</p>
- </li>
- </ul>
- </div>
- <div class="paragraph">
- <p>You will also need to remove the <code>jme3-jbullet</code> library and add <code>jme3-bullet</code> and <code>jme3-bullet-native</code> libraries.</p>
- </div>
- <div class="ulist">
- <ul>
- <li>
- <p>From the <code>Project Properties</code> window select <code>Libraries</code> and then the <code>Compile</code> tab. Under <code>Compile-time Libraries</code> select <code>jme3-jbullet</code> and press <code><b class="button">Remove</b></code>. Press <code><b class="button">Add Library</b></code>, select the two libraries <code>jme3-bullet</code> and <code>jme3-bullet-native</code> while holding <kbd>Ctrl</kbd> and then press <code><b class="button">Add Library</b></code> and finally <code><b class="button">OK</b></code>.</p>
- </li>
- </ul>
- </div>
- <div class="admonitionblock important">
- <table>
- <tr>
- <td class="icon">
- <i class="fa icon-important" title="Important"></i>
- </td>
- <td class="content">
- <div class="paragraph">
- <p>Press <kbd>Shift</kbd> + <kbd>F6</kbd> to run a class that is open in the editor, or <code><b class="button">RMB</b></code> a class in the Project window and choose <code><b class="button">Run File</b></code>. You can run the <code>TestChooser</code> app by <code><b class="button">RMB</b></code> selecting the project and pressing <code><b class="button">Run</b></code>. The TestChooser app allows you to easily navigate through all the test cases.</p>
- </div>
- </td>
- </tr>
- </table>
- </div>
- </div>
- </div>
- <div class="sect1">
- <h2 id="jme3testdata-assets"><a class="anchor" href="#jme3testdata-assets"></a>JME3TestData Assets</h2>
- <div class="sectionbody">
- <div class="paragraph">
- <p>You may want access to some sample assets, such as 3D models or textures, in one of your projects. A common situation for this would be while going through the <a href="../jme3.html#tutorials-for-beginners#" class="page">beginner tutorials</a>.</p>
- </div>
- <div class="olist arabic">
- <ol class="arabic">
- <li>
- <p><b class="button">RMB</b> select an existing jME3 project in the <a href="../sdk.html" class="page">SDK</a>, and select Properties.</p>
- </li>
- <li>
- <p>In the Properties window, select the <code>Libraries</code> section. Go to the <code>Compile</code> tab, it contains <code>Compile-time Libraries</code>.</p>
- </li>
- <li>
- <p>Click the <b class="button">Add Library</b> button and select the pre-defined <code>jme3-test-data</code>. Click <b class="button">OK</b>.</p>
- </li>
- <li>
- <p>Click <b class="button">OK</b> to save and close the Properties.</p>
- </li>
- </ol>
- </div>
- <div class="paragraph">
- <p>The project’s assetManager now has access to sample files from the <code>jme3-test-data.jar</code> file. This JAR library contains</p>
- </div>
- <div class="ulist">
- <ul>
- <li>
- <p>Ogre XML Models: Ninja.mesh.xml, Oto.mesh.xml, HoverTank.mesh.xml, Sinbad.mesh.xml, and many more</p>
- </li>
- <li>
- <p>Blender models</p>
- </li>
- <li>
- <p>Materials and Textures</p>
- <div class="ulist">
- <ul>
- <li>
- <p>Terrain, sky, rock, brick, pond…</p>
- </li>
- <li>
- <p>Particle effect textures</p>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <p>Sounds</p>
- </li>
- <li>
- <p>And more…</p>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="sect1">
- <h2 id="assetpacks"><a class="anchor" href="#assetpacks"></a>AssetPacks</h2>
- <div class="sectionbody">
- <div class="imageblock right">
- <div class="content">
- <img src="../_images/sdk/assetpackbrowser-300x166.jpg" alt="assetpackbrowser-300x166.jpg" width="" height="">
- </div>
- </div>
- <div class="paragraph">
- <p>If you need sample 3D models, don’t miss the opportunity to download our community-provided <a href="asset_packs.html" class="page">Asset Packs</a>!</p>
- </div>
- <div class="paragraph">
- <p>In the SDK:</p>
- </div>
- <div class="ulist">
- <ul>
- <li>
- <p>Open the AssetPackBrowser from the Windows menu</p>
- </li>
- <li>
- <p>In the AssetPackBrowser, click the Online AssetPacks button</p>
- </li>
- <li>
- <p>Click <b class="button">Install</b> on the AssetPack of your choice. The SDK downloads it and makes the assets accessible in your AssetPack Library.</p>
- </li>
- <li>
- <p>Click the <b class="button">View Library</b> button and open the Assets node.</p>
- </li>
- <li>
- <p><b class="button">RMB</b> select an asset to</p>
- <div class="ulist">
- <ul>
- <li>
- <p>Preview it</p>
- </li>
- <li>
- <p>Add it to the SceneComposer</p>
- </li>
- <li>
- <p>Add it to a game project’s assets directory</p>
- </li>
- </ul>
- </div>
- </li>
- </ul>
- </div>
- <div class="paragraph">
- <p>Read more about <a href="asset_packs.html" class="page">Asset Packs</a> and how you can share your own collection with the community.</p>
- </div>
- </div>
- </div>
- </article>
- <aside class="toc sidebar" data-title="Contents" data-levels="2">
- <div class="toc-menu"></div>
- </aside>
- </div>
- </main>
- </div>
- <footer class="footer">
- <p>Copyright 2020 jMonkeyEngine Wiki Contributors. Licensed BSD-3.</p>
- </footer>
- <script src="../../_/js/site.js"></script>
- <script async src="../../_/js/vendor/highlight.js"></script>
- </body>
- </html>
|