2008-08-10 6 views

Respuesta

4

Como referencia genérica, una vez escribí a small blog entry sobre ese tema. Básicamente, primero tiene que definir qué capa está alfa-mezclada contra qué otras capas. Afaik,

  • la (s) capa (s) fuente (s) deben estar sobre la (s) capa (s) de destino para que se muestren algunas mezclas. eso significa que la prioridad de las capas fuente debe ser numéricamente menor que la prioridad de las capas de destino.
  • la capa fuente es lo que va a ser translúcido, el (los) destino (s) es lo que se verá a través (y sí, esto me parece bastante confuso).

Para el sprites, specifically, a continuación, tiene 3 maneras de lograr alfa-mezcla en función de lo que necesita y lo que está "dispuesto a pagar" por que:

  • usted puede hacer todos los sprites tiene un poco de mezcla alfa al encender BLEND_SRC_SPRITE en REG_BLDCNT[_SUB] ... no es tan útil.
  • Puede activar selectivamente la mezcla de algunos sprites usando ATTR0_TYPE_BLENDED. El nivel de mezcla será el mismo para todos los sprites (y capas)
  • Los sprites de tipo bitmap usan colores directos (evitando las paletas), por lo que el campo ATTR2_PALETTE() de sprites GBA es inútil y se ha reciclado en ATTR2_ALPHA.
1

Ha sido un tiempo largo ya que he hecho cualquier programación de GBA, pero según recuerdo, el DS es compatible con la mayoría (si no con todas) de las cosas que admite GBA. This enlace tiene una sección sobre cómo hacer mezclas alfa para GBA (sección 13.2). No sé si hay una forma específica de DS para hacerlo, pero esto debería funcionar para usted.

+0

Demasiado específico de GBA – CVertex

4

Los Sprites en el DS se pueden combinar alfa con el blend control registers. TONC proporciona la información necesaria para que la fusión funcione en la pantalla principal porque las ubicaciones de registro son las mismas. La mezcla alfa en la subscreen utiliza el mismo proceso con diferentes registros en un desplazamiento de 1000h.

Los registros se va a encontrar son REG_BLDMOD, REG_COLV y REG_COLY para la pantalla principal y REG_BLDMOD_SUB, REG_COLV_SUB y REG_COLY_SUB para la pantalla secundaria.

También recuerde que tendrá que change the sprite's graphic mode para habilitar la mezcla por sprite.

Cuestiones relacionadas