Saltar al contenido

Central de Flota: ocho filas y ninguna animación de entrada

Temasui, ink, layout

El menú de flota se rehízo esta semana a partir del mockup, y casi todo el trabajo resultó ser aritmética.

Ocho unidades tienen que entrar sin área de desplazamiento. El panel tiene 469 píxeles de alto disponibles para la lista. Ocho filas de 52 píxeles suman 416. Seis espacios de seis píxeles agregan 36, y seis píxeles más de aire al final dejan el bloque en 458, con once de sobra. Así que el paso de fila, la distancia entre el borde superior de una fila y el de la siguiente, es 58: 52 de fila y 6 de aire. La lista termina donde termina el panel. Sin contenedor con scroll, sin una octava fila cortada por la mitad, sin barra de desplazamiento a la que darle estilo.

Si algún día llega una novena unidad, se rehacen las cuentas, y es el intercambio correcto. Un diseño fijo y correcto vale más que uno flexible y casi correcto.

El panel no tiene animación de entrada a propósito, y no por pereza. Antes había metido un inkAnimTranslation y un inkAnimTransparency, un deslizamiento y un desvanecimiento, dentro del mismo inkAnimDef: una sola definición de animación en ink, el sistema de interfaz del juego. Es la forma obvia de hacer que algo entre deslizándose y apareciendo. No hubo ningún glitch. El popup simplemente no volvió a aparecer nunca, y el log no dejó nada desde donde depurar.

Desde entonces la regla es un interpolador, es decir, una sola propiedad animada, por definición de animación, y cada definición en su propio widget. Si algo tiene que moverse y desvanecerse a la vez, son dos definiciones en dos widgets anidados. Para el panel de flota decidí que no necesita ninguna. Se abre al instante, y para un menú que abres en pleno tráfico ese es posiblemente el mejor comportamiento de todos modos.