注册 登录
编程论坛 C图形专区

[求助]c图形的动画问题

ensonpan3927 发布于 2006-12-04 15:56, 726 次点击
我的问题就是:怎样实现直线上两端的点同时相向运动啊?(假如那个点一个小圆)
我们老师让我做一课程设计,里面就涉及到这个东西,想了很久都想不出来啊,各位帮一下忙啊,谢谢啦!
4 回复
#2
一笔苍穹2006-12-04 17:31
水平运动就是Y轴不变X轴不断变动的过程,变成程序就可以是一个简单的for循环:
for (x = 0; x < 320; x++)/*X递增循环*/
{
circle(x, y, r, color);
}

另一只球则可以是:
for (x = 639; x > 320; x--)/*X递减循环*/
{
circle(x, y, r, color);
}

结合起来就是两只球相向运动了。
另外由于不断的在下一个位置上画球,之前画的那些球全留在屏幕上了,导致看上去更像一根粗线,所以还要用背景色擦除原来画的球:
circle(x, y, r, BG_color);
关于circle函数的参数:x,y是圆的坐标;r是半径;最后一个是颜色。
思路已经给你了,很简单的题。
#3
ensonpan39272006-12-04 18:37

非常感谢斑竹,好人啊!斑竹说的“结合起来就是两只球相向运动了。”是怎样结合啊?是循环的嵌套吗?

#4
mayudong12006-12-04 20:30
for (x = 0; x < 320; x++)
{
circle(x, y, r, color);
circle(639-x,y,r,color);
}

这样就行了吧

至于出现线的问题在每次画之前用背景色重画一遍就可以了
#5
ensonpan39272006-12-04 23:00

问题解决了,太感谢两位了!感激啊!

1