¿Cómo implementar animación usando lenguaje C?
Implementación del diseño de películas en lenguaje C basado en forma de borrado
Departamento de Informática y Comunicaciones, Instituto de Tecnología Donghua Jiang Linhe Yueshun Jiangxi Nanchang 330013
Resumen:
Este artículo presenta los principios del diseño de animación en lenguajes de programación, los métodos comunes de diseño de animación en lenguaje C y propone métodos para el diseño de animación en lenguaje C. Un nuevo método de diseño de animación: el método de borrado. Se explica el principio del diseño de animación del método de borrado y el diseño y la implementación de este método se presentan en detalle a través de un ejemplo específico. Al final del artículo, se resumen las ventajas y el alcance aplicable del diseño de animación del método de borrado.
Palabras clave: método de borrado; lenguaje C; TurboC2.0; principio de implementación
Número de clasificación chino: TP312
Resumen:
A través del principio del diseño de películas en el lenguaje de diseño de programas, la tesis presenta el diseño de películas de manera general en lenguaje C y presenta una nueva forma de diseño de películas: el borrado. La tesis también amplía el principio de la forma de borrado, y describe en particular el diseño. implementar el borrado por una instancia. El final resume la excelencia y el alcance del método de borrado.
0. Introducción
La tecnología de animación es una parte importante de los gráficos por computadora y se usa ampliamente en el diseño asistido por computadora, como el entretenimiento de juegos, la enseñanza auxiliar y la simulación de experimentos científicos. Hay muchos lenguajes de programación que se utilizan para el diseño de animaciones y existen muchos métodos. Entre ellos, la programación en lenguaje C se utiliza ampliamente en diversos proyectos de desarrollo de software. Por lo tanto, es necesario dominar el método de diseño de animación del lenguaje C para el desarrollo de software.
1. Principios de animación en programación
El principio de diseño de animación en programación es similar al método de las películas: utiliza las características fisiológicas de persistencia de la visión humana, es decir, el ojo humano solo puede distinguir el intervalo de tiempo. de cambios en imágenes dinámicas El cambio es de aproximadamente 25 milisegundos. Si la imagen cambia demasiado rápido, el ojo humano no puede distinguirla. En programación, podemos dibujar una imagen en la pantalla, hacer que esta imagen aparezca en diferentes momentos y luego presentarla rápidamente en la pantalla una por una (el intervalo de tiempo es inferior a 25 milisegundos desde el efecto visual, estas imágenes). Son como una película que cambia continuamente, le da a la gente una sensación visual conmovedora.
2. Métodos de diseño de animación más utilizados en lenguaje C
Métodos de diseño de animación más utilizados en lenguaje C [1]:
2.1 Uso del método de desarrollo de ventana gráfica dinámica
En la ventana gráfica de la imagen cuya posición cambia dinámicamente pero el tamaño permanece sin cambios (use la función setviewpot() [2]), establezca un gráfico fijo, de modo que lo que se presente al observador sea la posición de la imagen actual. La ventana gráfica está cambiando dinámicamente, por lo que en la pantalla Las imágenes que ve en la pantalla parecen estar cambiando dinámicamente.
2.2 Utilice la página de visualización y la página de edición para cambiar alternativamente
Separe la página de visualización actual y la página de edición (use las funciones setvisualpage() y setactivepage()), en el página de edición
Después de dibujar los gráficos, cambie inmediatamente la página a la página de visualización y luego dibuje la imagen en la última página mostrada. Una vez completado el dibujo, cámbiela nuevamente, y así sucesivamente. ojos del observador, aparecerá la animación.
2.3 Método para usar el almacenamiento y la reproducción de la pantalla
Al igual que hacer una presentación de diapositivas, todo el proceso de animación se convierte en segmentos y luego se almacena en el búfer de visualización cuando son. La secuencia se reproduce en la pantalla y aparece el efecto de animación.
2.4 Opere directamente la memoria dinámica de imágenes
Utilice los diversos registros y la memoria de imágenes VRAM en el adaptador de pantalla para controlar la visualización de imágenes para operarlas y controlarlas directamente, de modo que puedan ser eficientes. y rápidamente Para lograr efectos de animación.
Los cuatro métodos anteriores pueden lograr efectos de animación, pero sus operaciones son relativamente complejas y se debe acceder y recuperar las imágenes continuamente en el programa, lo que requiere una gran cantidad de recursos de memoria. El siguiente diseño de animación del método de borrado puede resolver los problemas anteriores.
3. El principio de diseño de animación del método de borrado
El método de diseño de animación del método de borrado se usa ampliamente en muchas herramientas de producción de animación (como flash), pero rara vez se usa en programación. Su principio de diseño es: utilizando el mismo principio de color, cuando el color del gráfico y el color de fondo son iguales, el ojo humano no puede percibirlo. En el diseño de animación, cuando se dibuja una imagen en una posición y el color de la imagen es diferente del color de fondo, y luego se dibuja una imagen en otra posición y el color de la imagen también es diferente del color de fondo, la imagen dibujada previamente será Dibuje otra imagen en la posición original y haga que el color de la imagen sea el mismo que el color de fondo, de modo que el ojo humano solo pueda ver la imagen recién dibujada pero no la imagen dibujada anteriormente, de modo que la imagen dibujada anteriormente se sienta borrada. De esta manera, se dibujan múltiples imágenes continuamente y cada vez que se dibuja una nueva imagen, se borra la imagen original, logrando así un efecto de animación a los ojos del observador.
4. Implementación del diseño de animación del método de borrado
A continuación se utiliza un círculo que se mueve hacia arriba y hacia abajo como ejemplo para explicar el proceso de diseño del uso del lenguaje C para implementar la animación en el entorno de desarrollo TurboC2.0. El método de diseño de animación es. borrando la división. Los pasos de implementación específicos son los siguientes:
4.1 Inicialización del sistema de gráficos de TC
TurboC2.0 proporciona a los usuarios una poderosa biblioteca de software de dibujo, que incluye archivos de biblioteca de gráficos (graphics. lib) , archivo de encabezado de gráficos (graphics.h) y controladores para muchos monitores de gráficos. Antes de que TurboC2.0 inicie el diseño gráfico, se debe inicializar para que el sistema sepa qué tipo de controlador de pantalla de gráficos usar, qué modo de gráficos usar y el nombre de la ruta de búsqueda del controlador del adaptador. La función de inicialización es initgraph(). La inicialización en este programa es la siguiente:
gdriver=DETECT;
initgraph(&gdriver, &gmode, "");//Visualización gráfica, modo de visualización, detección automática de ruta p >
4.2 Dibujo
setcolor(LIGHTRED);//Establece el color de la línea del círculo en rojo claro
setlinestyle(0,0,1);//Establece la línea como forma es una línea continua y el ancho de la línea es de un punto
setfillstyle(1, 10);//Establece el estilo de relleno del círculo en relleno sólido y el color de relleno en verde claro
circle(300 , 110*y,15);//Dibuja un círculo con el centro en las coordenadas (300, 110y) y un radio de 15
Necesitamos dibujar un círculo aquí (implementado con la función draw()), y establecer el color de la línea de circunferencia del círculo (usando la función setcolor()), establecer el tipo de línea (usando la función setlinestyle()), establecer el color de relleno del círculo y el modo de relleno (use la función setfillstyle()), establezca el color de relleno del círculo (use Floodfill()) y finalmente dibuje un círculo (use la función círculo()).
El código de este programa (función draw()) es el siguiente:
floodfill(300, 110*y, 12);//Rellena el círculo con el color verde claro en el estilo stfill de arriba p>
Para realizar la operación de borrado, necesita dibujar otro círculo en la misma posición (implementado con la función clear(). Esta operación solo requiere cambiar dos configuraciones de la función de dibujo de círculos anterior (draw()). función), como se muestra a continuación:
setcolor(BLUE);//Establece el color de la línea del círculo en azul (igual que el color de fondo)
setfillstyle(1, 10) ;//Establecer el estilo de relleno del círculo Para rellenar con sólido, el color de relleno es verde claro
4.3 Implementación de animación
Esta parte es la parte principal Primero establezca el color de fondo. a azul (use la función setbkcolor()), y luego dibuje un círculo relleno de verde claro en la pantalla (función draw()). Configure una declaración de control de bucle para dibujar círculos en diferentes ubicaciones de la pantalla y, al mismo tiempo, haga un retraso de tiempo (usando la función delay()) después de dibujar cada círculo, y luego implemente la operación de borrado después del retraso, eso es decir, llame a la función clear(). El diagrama de flujo y el código son los siguientes:
setbkcolor(BLUE);//Establece el color de fondo en azul
for(j=20;j>0;j=j- 4) //Controla el número de implementaciones de animación hasta 20 veces
{ for(i=j;i<30;i++)//Logra que la animación parpadee de arriba a abajo
{ draw(i );//Dibujar un círculo
delay(100000);//Retraso 0,1 segundos
clear(i);//Borrar el círculo dibujado
}
for(i=30;i>j;i--)//Logra que la animación parpadee de abajo hacia arriba
{ draw(i);//Dibuja un círculo
delay(100000);//Retraso 0,1 segundos
clear(i);//Borrar el círculo dibujado
}
}
La representación final después de implementar la animación es la siguiente.
4.4 Cerrar el sistema de gráficos
Cuando es necesario cerrar el sistema de gráficos una vez completada la implementación de los gráficos, esto se puede lograr utilizando la función closegraph().
5. Resumen
El principio del diseño de animación del método de borrado es fácil de entender y fácil de operar. Y el espacio de memoria requerido para ejecutar su programa es mucho menor que los cuatro métodos comunes mencionados anteriormente, porque no necesita almacenar gráficos en la memoria y luego recuperarlos desde la memoria durante la ejecución del programa, lo que ahorra una gran cantidad de espacio en la memoria. . Este método es especialmente útil si el programa se ejecuta en un entorno con memoria limitada, como un sistema integrado