03-31-2020, 04:23 AM
Buenas de nuevo,
Ciclo de color
El archivo sqx creo que no lo tengo documentado en nigún sitio...
Un ciclo de color consiste en hacer rotar progresivamente un rango de colores de una paleta. Por cada rango definido en la secuencia:
Efecto en html5 online:
http://www.effectgames.com/demos/canvascycle/
Conferencia del autor original de los gráficos explicando el proceso de creación:
https://youtu.be/aMcJ1Jvtef0?t=3084
Column offset
Este efecto te permite desplazar verticalmente las columnas que forman los tiles de un mapa respecto a la posición horizontal base. Es un efecto que tenía por hardware el chip gráfico de la Mega Drive.
1. Calcular el nº de columnas visibles en pantalla, se obtiene dividiendo la resolución en píxeles de la ventana por la anchura de cada tile, más 2. WIDTH tiene el ancho de ventana, y los tiles son de 8x8:
2. Reservar un array de tantas columnas como hemos calculado antes. Cada columna requiere un entero (int) del lenguaje C en el que está escrito Tilengine, y c_int es el tipo de dato Python equivalente al int del C:
3. Activar el effecto de offset de columna pasando el array creado antes sobre la capa foreground:
Para poder ver algo, tienes que escribir valores en el array columns creado anteriormente, ya que por defecto está todo a 0, que significa "no desplazar". Por ejemplo el siguiente fragmento debería generarte un efecto de rampa o pendiente suave:
Más información sobre c_int:
https://torroja.dmt.upm.es/media/files/ctypes.pdf
Ciclo de color
El archivo sqx creo que no lo tengo documentado en nigún sitio...
Un ciclo de color consiste en hacer rotar progresivamente un rango de colores de una paleta. Por cada rango definido en la secuencia:
- first: índice del primer color (0-255)
- count: número de colores que comprende el rango
- dir: dirección del ciclo, ascendente o descendente
- delay: nº de fotogramas de pausa entre cambios (cuanto más delay, más lento)
Efecto en html5 online:
http://www.effectgames.com/demos/canvascycle/
Conferencia del autor original de los gráficos explicando el proceso de creación:
https://youtu.be/aMcJ1Jvtef0?t=3084
Column offset
Este efecto te permite desplazar verticalmente las columnas que forman los tiles de un mapa respecto a la posición horizontal base. Es un efecto que tenía por hardware el chip gráfico de la Mega Drive.
1. Calcular el nº de columnas visibles en pantalla, se obtiene dividiendo la resolución en píxeles de la ventana por la anchura de cada tile, más 2. WIDTH tiene el ancho de ventana, y los tiles son de 8x8:
Code:
num_columns = int(WIDTH / 8 + 2)
2. Reservar un array de tantas columnas como hemos calculado antes. Cada columna requiere un entero (int) del lenguaje C en el que está escrito Tilengine, y c_int es el tipo de dato Python equivalente al int del C:
Code:
columns = (c_int * num_columns)()
3. Activar el effecto de offset de columna pasando el array creado antes sobre la capa foreground:
Code:
foreground.set_column_offset(columns)
Para poder ver algo, tienes que escribir valores en el array columns creado anteriormente, ya que por defecto está todo a 0, que significa "no desplazar". Por ejemplo el siguiente fragmento debería generarte un efecto de rampa o pendiente suave:
Code:
for n in range(num_columns):
columns[n] = n
Más información sobre c_int:
https://torroja.dmt.upm.es/media/files/ctypes.pdf