user-components-editor.html 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. <!DOCTYPE html>
  2. <html class="writer-html5" lang="en" >
  3. <head>
  4. <meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>User Components Editor &mdash; Phaser Editor 2D Help</title>
  7. <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
  8. <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
  9. <link rel="stylesheet" href="../_static/css/custom.css" type="text/css" />
  10. <link rel="shortcut icon" href="../_static/icon.png"/>
  11. <!--[if lt IE 9]>
  12. <script src="../_static/js/html5shiv.min.js"></script>
  13. <![endif]-->
  14. <script src="../_static/jquery.js?v=5d32c60e"></script>
  15. <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
  16. <script src="../_static/documentation_options.js?v=a1f35292"></script>
  17. <script src="../_static/doctools.js?v=888ff710"></script>
  18. <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
  19. <script src="../_static/js/theme.js"></script>
  20. <link rel="index" title="Index" href="../genindex.html" />
  21. <link rel="search" title="Search" href="../search.html" />
  22. <link rel="next" title="Add new component" href="user-components-editor-add-component.html" />
  23. <link rel="prev" title="Create a new User Components file" href="user-components-create-file.html" />
  24. </head>
  25. <body class="wy-body-for-nav">
  26. <div class="wy-grid-for-nav">
  27. <nav data-toggle="wy-nav-shift" class="wy-nav-side">
  28. <div class="wy-side-scroll">
  29. <div class="wy-side-nav-search" style="background: #343131" >
  30. <a href="../index.html" class="icon icon-home">
  31. Phaser Editor 2D
  32. <img src="../_static/logo.png" class="logo" alt="Logo"/>
  33. </a>
  34. <div class="version">
  35. v3.67.0
  36. </div>
  37. <div role="search">
  38. <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
  39. <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
  40. <input type="hidden" name="check_keywords" value="yes" />
  41. <input type="hidden" name="area" value="default" />
  42. </form>
  43. </div>
  44. </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
  45. <ul class="current">
  46. <li class="toctree-l1"><a class="reference internal" href="../intro/index.html">Introduction</a></li>
  47. <li class="toctree-l1"><a class="reference internal" href="../first-steps/index.html">First steps</a></li>
  48. <li class="toctree-l1"><a class="reference internal" href="../workbench/index.html">Workbench</a></li>
  49. <li class="toctree-l1"><a class="reference internal" href="../asset-pack-editor/index.html">Asset Pack Editor</a></li>
  50. <li class="toctree-l1 current"><a class="reference internal" href="index.html">Scene Editor</a><ul class="current">
  51. <li class="toctree-l2"><a class="reference internal" href="create-new-scene-file.html">Create a new Scene file</a></li>
  52. <li class="toctree-l2"><a class="reference internal" href="add-object.html">Adding an object to the scene</a></li>
  53. <li class="toctree-l2"><a class="reference internal" href="inspector-view.html">Inspector view</a></li>
  54. <li class="toctree-l2"><a class="reference internal" href="game-objects.html">Game Object types</a></li>
  55. <li class="toctree-l2"><a class="reference internal" href="scene-properties.html">Scene properties</a></li>
  56. <li class="toctree-l2"><a class="reference internal" href="arcade-physics.html">Arcade Physics</a></li>
  57. <li class="toctree-l2"><a class="reference internal" href="sprite-animations.html">Sprite animations</a></li>
  58. <li class="toctree-l2"><a class="reference internal" href="spine-animations.html">Spine animations</a></li>
  59. <li class="toctree-l2"><a class="reference internal" href="shader-effects.html">Shader Effects</a></li>
  60. <li class="toctree-l2"><a class="reference internal" href="working-with-parent-objects.html">Working with parent objects</a></li>
  61. <li class="toctree-l2"><a class="reference internal" href="object-list.html">Object List</a></li>
  62. <li class="toctree-l2"><a class="reference internal" href="input.html">Input</a></li>
  63. <li class="toctree-l2"><a class="reference internal" href="prefabs.html">Prefabs</a></li>
  64. <li class="toctree-l2"><a class="reference internal" href="script-node.html">Script Nodes</a></li>
  65. <li class="toctree-l2 current"><a class="reference internal" href="user-components.html">User Components</a><ul class="current">
  66. <li class="toctree-l3"><a class="reference internal" href="user-components-create-file.html">Create a new User Components file</a></li>
  67. <li class="toctree-l3 current"><a class="current reference internal" href="#">User Components Editor</a><ul>
  68. <li class="toctree-l4"><a class="reference internal" href="user-components-editor-add-component.html">Add new component</a></li>
  69. <li class="toctree-l4"><a class="reference internal" href="user-components-editor-edit-component.html">Edit the component info</a></li>
  70. <li class="toctree-l4"><a class="reference internal" href="user-components-editor-edit-code.html">Edit the component code</a></li>
  71. </ul>
  72. </li>
  73. <li class="toctree-l3"><a class="reference internal" href="user-components-compiler.html">The User Components compiler</a></li>
  74. <li class="toctree-l3"><a class="reference internal" href="user-components-start-update-methods.html">Implementing behaviors with the Phaser events</a></li>
  75. <li class="toctree-l3"><a class="reference internal" href="user-components-super-class.html">A base class for your components</a></li>
  76. <li class="toctree-l3"><a class="reference internal" href="user-components-awake-event.html">The awake event</a></li>
  77. <li class="toctree-l3"><a class="reference internal" href="user-components-instancing.html">Adding User Components to a Game Object</a></li>
  78. <li class="toctree-l3"><a class="reference internal" href="user-components-in-prefab-object.html">Adding User Components to a Prefab</a></li>
  79. </ul>
  80. </li>
  81. <li class="toctree-l2"><a class="reference internal" href="manipulation-tools.html">Manipulation tools</a></li>
  82. <li class="toctree-l2"><a class="reference internal" href="layout-tools.html">Layout tools</a></li>
  83. <li class="toctree-l2"><a class="reference internal" href="scene-compiler.html">The scene compiler</a></li>
  84. <li class="toctree-l2"><a class="reference internal" href="misc.html">Miscellaneous</a></li>
  85. <li class="toctree-l2"><a class="reference internal" href="troubleshooting.html">Troubleshooting</a></li>
  86. </ul>
  87. </li>
  88. <li class="toctree-l1"><a class="reference internal" href="../code-editor/index.html">Code Editor</a></li>
  89. <li class="toctree-l1"><a class="reference internal" href="../animations-editor/index.html">Animations Editor</a></li>
  90. <li class="toctree-l1"><a class="reference internal" href="../atlas-editor/index.html">Atlas Editor</a></li>
  91. <li class="toctree-l1"><a class="reference internal" href="../misc/index.html">Miscellaneous</a></li>
  92. <li class="toctree-l1"><a class="reference internal" href="../pricing/index.html">License and pricing</a></li>
  93. </ul>
  94. </div>
  95. </div>
  96. </nav>
  97. <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" style="background: #343131" >
  98. <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
  99. <a href="../index.html">Phaser Editor 2D</a>
  100. </nav>
  101. <div class="wy-nav-content">
  102. <div class="rst-content">
  103. <div role="navigation" aria-label="Page navigation">
  104. <ul class="wy-breadcrumbs">
  105. <li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
  106. <li class="breadcrumb-item"><a href="index.html">Scene Editor</a></li>
  107. <li class="breadcrumb-item"><a href="user-components.html">User Components</a></li>
  108. <li class="breadcrumb-item active">User Components Editor</li>
  109. <li class="wy-breadcrumbs-aside">
  110. </li>
  111. </ul>
  112. <hr/>
  113. </div>
  114. <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
  115. <div itemprop="articleBody">
  116. <section id="user-components-editor">
  117. <h1>User Components Editor<a class="headerlink" href="#user-components-editor" title="Link to this heading"></a></h1>
  118. <div class="toctree-wrapper compound">
  119. <ul>
  120. <li class="toctree-l1"><a class="reference internal" href="user-components-editor-add-component.html">Add new component</a></li>
  121. <li class="toctree-l1"><a class="reference internal" href="user-components-editor-edit-component.html">Edit the component info</a></li>
  122. <li class="toctree-l1"><a class="reference internal" href="user-components-editor-edit-code.html">Edit the component code</a></li>
  123. </ul>
  124. </div>
  125. <p>Components (or similar patterns) are widely used in popular game engines or editors. Many of these tools use custom scripting languages or certain elements of a language (like metadata or attributes) to provide the components information, like properties description, default values, UI rendering, etc… The code of the component has the metadata of the component as part of its implementation.</p>
  126. <p>In <a class="reference external" href="https://phasereditor2d.com">Phaser Editor 2D</a>, for now, it is different. We use configurations (JSON) files and a <a class="reference external" href="../scene-editor/user-components-compiler.html">User Components compiler</a> that parses these files and generates the JavaScript (or TypeScript) code of the components. Or better say, a part of the component’s code, because, just like the <a class="reference external" href="../scene-editor/index.html">Scene Editor</a> does with the scene files, you can insert your code inside the output of the <a class="reference external" href="../scene-editor/user-components-compiler.html">User Components compiler</a>.</p>
  127. <p>The information available in the configuration (<code class="docutils literal notranslate"><span class="pre">*.components</span></code>) files are used by the <a class="reference external" href="../scene-editor/index.html">Scene Editor</a> for building the UI elements needed to add and edit the components of a game object. It is not required by the game at run-time. We strongly recommend to exclude it from the distribution build of your game.</p>
  128. </section>
  129. </div>
  130. </div>
  131. <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
  132. <a href="user-components-create-file.html" class="btn btn-neutral float-left" title="Create a new User Components file" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
  133. <a href="user-components-editor-add-component.html" class="btn btn-neutral float-right" title="Add new component" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
  134. </div>
  135. <hr/>
  136. <div role="contentinfo">
  137. <p>&#169; Copyright 2016-2024, Arian Fornaris.</p>
  138. </div>
  139. Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
  140. <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
  141. provided by <a href="https://readthedocs.org">Read the Docs</a>.
  142. </footer>
  143. </div>
  144. </div>
  145. </section>
  146. </div>
  147. <script>
  148. jQuery(function () {
  149. SphinxRtdTheme.Navigation.enable(true);
  150. });
  151. </script>
  152. <!-- Theme Analytics -->
  153. <script async src="https://www.googletagmanager.com/gtag/js?id=UA-67206336-2"></script>
  154. <script>
  155. window.dataLayer = window.dataLayer || [];
  156. function gtag(){dataLayer.push(arguments);}
  157. gtag('js', new Date());
  158. gtag('config', 'UA-67206336-2', {
  159. 'anonymize_ip': false,
  160. });
  161. </script>
  162. </body>
  163. </html>