下落动画
#include<graphics.h>
#include<conio.h>
#include<stdio.h>
int main()
{
int y=100;
int step=100;
initgraph(600,600);
cleardevice(); // 清除之前绘制的效果 c 小写
fillcircle(300,y,20);
Sleep(1000); // 暂停1000 毫秒 S 大写
y=y+step;
cleardevice();
fillcircle(300,y,20);
Sleep(1000);
y=y+step;
cleardevice();
fillcircle(300,y,20);
Sleep(1000);
y=y+step;
cleardevice();
fillcircle(300,y,20);
Sleep(1000);
y=y+step;
cleardevice();
fillcircle(300,y,20);
Sleep(1000);
_getch();
closegraph();
return 0;
}
利用while实现小球下落动画
#include<graphics.h>
#include<conio.h>
#include<stdio.h>
int main()
{
int y=100;
int step=1;
int vy=3;
initgraph(600,600);
while (1)
{
y=y+vy; // 加速
if (y>620) // 如果超出边框 反弹 【 if (y>580)
y=-20; // 则从 上 重新下落 vy=-vy; 】
cleardevice(); // 清除之前绘制的效果 c 小写
fillcircle(300,y,20);
Sleep(10); // 暂停1000 毫秒 S 大写
y=y+step;
}
_getch();
closegraph();
return 0;
}
小球落地来回反弹
#include<graphics.h>
#include<conio.h>
#include<stdio.h>
int main()
{
initgraph(600,400);
int y=100;
int vy=3; // 加速变量
while (1)
{
y=y+vy; // 加速
if (y>=380)
vy = -vy;
if (y<20)
vy=-vy;
cleardevice(); // 清除之前绘制的效果 c 小写
fillcircle(300,y,20);
Sleep(10); // 暂停1000 毫秒 S 大写
}
_getch();
closegraph();
return 0;
}
小球自由落体到静止
#include<graphics.h>
#include<conio.h>
#include<stdio.h>
int main()
{
initgraph(600,400); // 初始游戏画面 狂傲
float y=100; // 小球的y坐标
float vy=3; // 小球y方向速度
float g=0.5; // 小球加速度
while (1) // 一直循环
{
vy=vy+g; // 利用加速度g 更新vy 速度
y=y+vy; // 利用y方向速度vy更新y坐标
if (y>=380) // 当碰到地面时
vy = -0.95*vy; // y方向速度改变方向并受阻尼影响绝对值变小
if (y>380) // 阻止小球越过地面
y=380;
cleardevice(); // 清除之前绘制的效果 c 小写
fillcircle(300,y,20); // 在坐标(300,y)处 画一个半径为20的圆
Sleep(10); // 暂停1000 毫秒 S 大写
}
_getch(); // 等待按键
closegraph(); // 关闭窗口
return 0;
}
联系客服