150.运动的小车动画

简介: 150.运动的小车动画
#include<time.h>
#include<stdlib.h>
#include<graphics.h>
#include<conio.h>
#include<dos.h>
#include<math.h>
#define step 10
#define R 10
main()
{
  int gdriver=9,gmode=2;
  static int startx=5;
  static int starty=100;
  int maxx,l=1,n=1;
  double dalta=20,angle;
  int size;
  void *image;
  /*registerbgidriver( EGAVGA_driver );*/ /*注册vga驱动*/
  initgraph(&gdriver,&gmode,"c:\\tc"); /*初始化图形界面*/
  cleardevice(); /*清除屏幕*/
  setbkcolor(BLUE); /*将背景色设置成蓝色*/
  size=imagesize(startx,starty,startx+60,starty+60); /*计算生成60×60个象素的图需要的字节数*/
  image=(unsigned char *)malloc(size); /*分配内存*/
  maxx=getmaxx(); /*获得屏幕显示x轴的最大值*/
  while(!kbhit()) /*如果没有按键就不停的循环*/
  {
    if(l==1) /*从左到右*/
    {
      n++;
      angle=-1*(n*step)/M_PI*180/R;
      if((int)(-1*angle)%360<dalta)
        angle-=dalta;
      if(n>(maxx-70)/step)
        l=0;
    }
    if(l==0) /*从右到左*/
    {
      --n;
      angle=-1*(n*step)/R/M_PI*180;
      if((int)(-1*angle)%360<dalta)
        angle-=dalta;
      if(n==1)l=1;
    }
    rectangle(startx+n*step,starty,startx+n*step+60,starty+40); /*画车厢*/
    pieslice(startx+n*step+15,starty+50,angle,angle-dalta,10); /*画轮上的小片扇形部分*/
    pieslice(startx+n*step+45,starty+50,angle,angle-dalta,10);
    setcolor(YELLOW); /*设置前景色为黄色*/
    setfillstyle(SOLID_FILL, YELLOW); /*设置填充模式为实填充,颜色为黄色*/
    circle(startx+n*step+15,starty+50,10); /*画车轮*/
    circle(startx+n*step+45,starty+50,10);
    circle(startx+n*step+15,starty+50,3);
    circle(startx+n*step+45,starty+50,3);
    getimage(startx+n*step,starty,startx+n*step+60,starty+60,image); /*获取当前的图片*/
    delay(100); 
    putimage(startx+n*step,starty,image,XOR_PUT); /*使用异或模式将图片显示上去*/
  }
  free(image);
  closegraph();
}
相关文章
|
4月前
|
前端开发 计算机视觉 Python
OpenCV中绘制运动的小球动画,
要在OpenCV中绘制运动的小球动画,并且将动画显示在Python GUI窗口内,可以按照以下步骤进行:
46 2
Three.js模拟沿着路径进行运动,模拟飞机飞行,并保持运动方向
Three.js模拟沿着路径进行运动,模拟飞机飞行,并保持运动方向
850 0
Three.js模拟沿着路径进行运动,模拟飞机飞行,并保持运动方向
|
图形学
碰撞检测——刚体加力
碰撞检测——刚体加力
83 0
|
图形学
碰撞检测——刚体
碰撞检测——刚体
99 0
碰撞检测——刚体
|
传感器 物联网 API
陀螺仪小球_软件详解|学习笔记
快速学习陀螺仪小球_软件详解。
154 0
陀螺仪小球_软件详解|学习笔记
|
数据可视化
第3讲 三维空间刚体运动
第3讲 三维空间刚体运动
第3讲 三维空间刚体运动
Threejs实现卫星太阳板折叠动画,信号发射,姿态调整
Threejs实现卫星太阳板折叠动画,信号发射,姿态调整
249 0
Threejs实现卫星太阳板折叠动画,信号发射,姿态调整
Threejs实现镜头跟随物体移动效果,镜头拐弯并保持运动方向
Threejs实现镜头跟随物体移动效果,镜头拐弯并保持运动方向
941 0
Threejs实现镜头跟随物体移动效果,镜头拐弯并保持运动方向
自由运动滑块和小球的碰撞检测
自由运动滑块和小球的碰撞检测
88 0
自由运动滑块和小球的碰撞检测
自由运动物体的运动代码
自由运动物体的运动代码
80 0