Crear un tema de Recalbox

45 páginas · 8 secciones
FRENESDE Mostrar todo Crear mi tema

⚠️ La regla más importante

Por qué tu componente no aparece.

Esta es la causa del « he puesto mi imagen y no la veo ».

Una vista solo dibuja dos cosas:

  1. sus componentes reservados, que construye ella misma;
  2. los componentes marcados extra="true".

Un componente libre sin extra no aparece nunca.

extra="true" → dibujado tu componente sin extra → invisible nada el motor solo dibuja sus componentes reservados + los marcados extra
<view name="system">
  <image name="mon-decor" extra="true">      <!-- ✅ se muestra -->
    <path>${root}/data/arts/decor.png</path>
  </image>

  <image name="autre-decor">                  <!-- ❌ invisible -->
    <path>${root}/data/arts/decor.png</path>
  </image>
</view>

La otra escritura, equivalente, es agruparlos:

<view name="system">
  <extras>
    <image name="mon-decor"> … </image>
    <text name="ma-legende"> … </text>
  </extras>
</view>

Solo SEIS tipos pueden colocarse libremente

La fábrica de componentes libres solo sabe construir estos:

✅ Utilizable como extra❌ Rechazado
image · box · video · text · scrolltext · markdowntextlist · carousel · datetime · rating · sound · helpsystem · keyboard · container · ninepatch · todos los menu*

Un tipo rechazado escribe en el registro Extra type unknown: Rating y no se dibuja nada.

➡️ rating, datetime, textlist y carousel solo se usan bajo su nombre reservado, en una vista que los prevé. No puedes añadir una segunda puntuación ni una segunda lista.

➡️ ninepatch no tiene nombre reservado en ninguna parte: rechazado como componente libre, y ninguna vista lo construye. Es por tanto inutilizable en la práctica, pese a estar presente en el motor.

➡️ container tampoco se coloca, pero no es inútil: el motor lo aplica por encima de otro componente. En la lista de juegos, md_description declarado como <text> ajusta a la vez el marco desplazable que lo rodea — pos, size y zIndex van al marco, el resto al texto. Nunca lo escribes tú mismo.

Otros tres límites

La excepción

helpsystem sigue funcionando incluso escrito en un bloque <extras>: la vista lo encuentra por su nombre. La advertencia del registro no tiene consecuencias.