Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
como crear distintos efectos
#2
Buenas de nuevo,

Ciclo de color
El archivo sqx creo que no lo tengo documentado en nigún sitio... Undecided 

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)
Las ejemplos no son míos, se crearon hace muchos años para windows 3.1. Un tipo los adaptó a html5 en formato json, y de ahí yo lo capturé y convertí a png + sqx con un conversor automático que me hice a medida.

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
Reply


Messages In This Thread
como crear distintos efectos - by Hokuto40 - 03-30-2020, 05:07 AM
RE: como crear distintos efectos - by megamarc - 03-31-2020, 04:23 AM
RE: como crear distintos efectos - by Hokuto40 - 03-31-2020, 04:47 AM
RE: como crear distintos efectos - by megamarc - 04-03-2020, 04:00 PM
RE: como crear distintos efectos - by Hokuto40 - 04-03-2020, 07:04 PM
RE: como crear distintos efectos - by Hokuto40 - 04-06-2020, 07:17 PM
RE: como crear distintos efectos - by megamarc - 04-07-2020, 06:27 AM

Forum Jump:


Users browsing this thread: 1 Guest(s)