prefab-display-properties.html 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  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>Prefab instance display properties &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="Prefab code generation" href="prefab-code.html" />
  23. <link rel="prev" title="Creating a prefab instance" href="prefab-create-instance.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 current"><a class="reference internal" href="prefabs.html">Prefabs</a><ul class="current">
  64. <li class="toctree-l3"><a class="reference internal" href="prefab-new-file.html">Creating a prefab file</a></li>
  65. <li class="toctree-l3"><a class="reference internal" href="prefab-object.html">The prefab object</a></li>
  66. <li class="toctree-l3"><a class="reference internal" href="prefab-user-properties.html">Prefab user properties</a></li>
  67. <li class="toctree-l3"><a class="reference internal" href="prefab-create-instance.html">Creating a prefab instance</a></li>
  68. <li class="toctree-l3 current"><a class="current reference internal" href="#">Prefab instance display properties</a></li>
  69. <li class="toctree-l3"><a class="reference internal" href="prefab-code.html">Prefab code generation</a></li>
  70. <li class="toctree-l3"><a class="reference internal" href="prefab-set-properties.html">Changing a property of a prefab instance</a></li>
  71. <li class="toctree-l3"><a class="reference internal" href="prefab-variant.html">Prefab variants</a></li>
  72. <li class="toctree-l3"><a class="reference internal" href="prefab-nested.html">Nested prefabs</a></li>
  73. <li class="toctree-l3"><a class="reference internal" href="prefab-instance-children.html">Adding children to a prefab instance</a></li>
  74. <li class="toctree-l3"><a class="reference internal" href="prefab-black-box.html">Using a prefab as a black box</a></li>
  75. </ul>
  76. </li>
  77. <li class="toctree-l2"><a class="reference internal" href="script-node.html">Script Nodes</a></li>
  78. <li class="toctree-l2"><a class="reference internal" href="user-components.html">User Components</a></li>
  79. <li class="toctree-l2"><a class="reference internal" href="manipulation-tools.html">Manipulation tools</a></li>
  80. <li class="toctree-l2"><a class="reference internal" href="layout-tools.html">Layout tools</a></li>
  81. <li class="toctree-l2"><a class="reference internal" href="scene-compiler.html">The scene compiler</a></li>
  82. <li class="toctree-l2"><a class="reference internal" href="misc.html">Miscellaneous</a></li>
  83. <li class="toctree-l2"><a class="reference internal" href="troubleshooting.html">Troubleshooting</a></li>
  84. </ul>
  85. </li>
  86. <li class="toctree-l1"><a class="reference internal" href="../code-editor/index.html">Code Editor</a></li>
  87. <li class="toctree-l1"><a class="reference internal" href="../animations-editor/index.html">Animations Editor</a></li>
  88. <li class="toctree-l1"><a class="reference internal" href="../atlas-editor/index.html">Atlas Editor</a></li>
  89. <li class="toctree-l1"><a class="reference internal" href="../misc/index.html">Miscellaneous</a></li>
  90. <li class="toctree-l1"><a class="reference internal" href="../pricing/index.html">License and pricing</a></li>
  91. </ul>
  92. </div>
  93. </div>
  94. </nav>
  95. <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" style="background: #343131" >
  96. <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
  97. <a href="../index.html">Phaser Editor 2D</a>
  98. </nav>
  99. <div class="wy-nav-content">
  100. <div class="rst-content">
  101. <div role="navigation" aria-label="Page navigation">
  102. <ul class="wy-breadcrumbs">
  103. <li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
  104. <li class="breadcrumb-item"><a href="index.html">Scene Editor</a></li>
  105. <li class="breadcrumb-item"><a href="prefabs.html">Prefabs</a></li>
  106. <li class="breadcrumb-item active">Prefab instance display properties</li>
  107. <li class="wy-breadcrumbs-aside">
  108. </li>
  109. </ul>
  110. <hr/>
  111. </div>
  112. <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
  113. <div itemprop="articleBody">
  114. <section id="prefab-instance-display-properties">
  115. <h1>Prefab instance display properties<a class="headerlink" href="#prefab-instance-display-properties" title="Link to this heading"></a></h1>
  116. <p>When you create a prefab instance, the <a class="reference external" href="../workbench/outline-view.html">Outline view</a> shows the variable’s name as the display name of the object.</p>
  117. <p>Let’s see this example.</p>
  118. <p>The variable name of the button is <strong>buttonDown</strong>:</p>
  119. <img alt="The variable name." src="../_images/scene-editor-prefabs-display-name-variable-name-1.webp" />
  120. <p>… and the <a class="reference external" href="../workbench/outline-view.html">Outline view</a> uses the same name for labeling the object:</p>
  121. <img alt="The label in the Outline view." src="../_images/scene-editor-prefabs-display-name-outline-1.webp" />
  122. <p>However, you can change the labeling of the object with a more descriptive name. You can set the <strong>Object Display Name</strong> in the <strong>Prefab Display</strong> properties section of the prefab’s scene:</p>
  123. <img alt="Object display name definition." src="../_images/scene-editor-prefabs-display-name-definition.webp" />
  124. <p>The display name for the button instances will be <code class="docutils literal notranslate"><span class="pre">Button</span> <span class="pre">-</span> <span class="pre">${action}</span></code>. It is a name template with placeholders, and the <code class="docutils literal notranslate"><span class="pre">${action}</span></code> placeholder is filled with the value of the <strong>Action</strong> prefab property of the button.</p>
  125. <p>The <code class="docutils literal notranslate"><span class="pre">action</span></code> name is the variable name of the user property <code class="docutils literal notranslate"><span class="pre">Action</span></code>. You can hover the mouse in the property to get the property information:</p>
  126. <img alt="The info of a prefab property." src="../_images/scene-editor-prefab-display-name-property-tooltip-20231205.webp" />
  127. <p>Now, the buttons are shown in the <a class="reference external" href="../workbench/outline-view.html">Outline view</a> with the new display names. Note the <code class="docutils literal notranslate"><span class="pre">${action}</span></code> expression is replaced by <code class="docutils literal notranslate"><span class="pre">UP</span></code>, <code class="docutils literal notranslate"><span class="pre">DOWN</span></code>, or <code class="docutils literal notranslate"><span class="pre">FIRE</span></code> depending on the value of the <strong>Action</strong> property:</p>
  128. <img alt="The new display name of the objects in the outline view." src="../_images/scene-editor-prefabs-display-name-outline-2.webp" />
  129. <p>This technique is particularly useful when you add objects but their variable names are not relevant to the game implementation. Or when you want to provide more detailed information about the objects.</p>
  130. <p>This is the case of many <a class="reference external" href="../scene-editor/script-node.html">script nodes</a>:</p>
  131. <img alt="Using the prefab display name in the script nodes." src="../_images/scene-editor-prefabs-display-name-script-node-20231205.webp" />
  132. <p>In addition to the <code class="docutils literal notranslate"><span class="pre">${propName}</span></code> syntax, you can use a <code class="docutils literal notranslate"><span class="pre">#{propName}</span></code> expression. It will be replaced by the name of the property (<code class="docutils literal notranslate"><span class="pre">propName</span></code>) if the value of the property is <code class="docutils literal notranslate"><span class="pre">true</span></code>, <code class="docutils literal notranslate"><span class="pre">undefined</span></code>, <code class="docutils literal notranslate"><span class="pre">&quot;&quot;</span></code>, or the equivalent in JavaScript.</p>
  133. <p>This is an example. The display name is <code class="docutils literal notranslate"><span class="pre">Collide</span> <span class="pre">#{up}</span> <span class="pre">#{down}</span></code>. If the value of the <code class="docutils literal notranslate"><span class="pre">up</span></code> property is <code class="docutils literal notranslate"><span class="pre">true</span></code> and the <code class="docutils literal notranslate"><span class="pre">down</span></code> property is <code class="docutils literal notranslate"><span class="pre">false</span></code>, then the final display name will be <code class="docutils literal notranslate"><span class="pre">Collide</span> <span class="pre">#up</span></code>.</p>
  134. <p>It means you can use this syntax for showing “tags”.</p>
  135. </section>
  136. </div>
  137. </div>
  138. <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
  139. <a href="prefab-create-instance.html" class="btn btn-neutral float-left" title="Creating a prefab instance" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
  140. <a href="prefab-code.html" class="btn btn-neutral float-right" title="Prefab code generation" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
  141. </div>
  142. <hr/>
  143. <div role="contentinfo">
  144. <p>&#169; Copyright 2016-2024, Arian Fornaris.</p>
  145. </div>
  146. Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
  147. <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
  148. provided by <a href="https://readthedocs.org">Read the Docs</a>.
  149. </footer>
  150. </div>
  151. </div>
  152. </section>
  153. </div>
  154. <script>
  155. jQuery(function () {
  156. SphinxRtdTheme.Navigation.enable(true);
  157. });
  158. </script>
  159. <!-- Theme Analytics -->
  160. <script async src="https://www.googletagmanager.com/gtag/js?id=UA-67206336-2"></script>
  161. <script>
  162. window.dataLayer = window.dataLayer || [];
  163. function gtag(){dataLayer.push(arguments);}
  164. gtag('js', new Date());
  165. gtag('config', 'UA-67206336-2', {
  166. 'anonymize_ip': false,
  167. });
  168. </script>
  169. </body>
  170. </html>