ensonpan3927 发表于 2006-12-4 15:56

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

我的问题就是:怎样实现直线上两端的点同时相向运动啊?(假如那个点一个小圆)<BR>我们老师让我做一课程设计,里面就涉及到这个东西,想了很久都想不出来啊,各位帮一下忙啊,谢谢啦!

一笔苍穹 发表于 2006-12-4 17:31

水平运动就是Y轴不变X轴不断变动的过程,变成程序就可以是一个简单的for循环:<BR>for (x = 0; x &lt; 320; x++)/*X递增循环*/<BR>{<BR>circle(x, y, r, color);<BR>}<BR><BR>另一只球则可以是:<BR>for (x = 639; x &gt; 320; x--)/*X递减循环*/<BR>{<BR>circle(x, y, r, color);<BR>}<BR><BR>结合起来就是两只球相向运动了。<BR>另外由于不断的在下一个位置上画球,之前画的那些球全留在屏幕上了,导致看上去更像一根粗线,所以还要用背景色擦除原来画的球:<BR>circle(x, y, r, BG_color);<BR>关于circle函数的参数:x,y是圆的坐标;r是半径;最后一个是颜色。<BR>思路已经给你了,很简单的题。

ensonpan3927 发表于 2006-12-4 18:37

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

mayudong1 发表于 2006-12-4 20:30

for (x = 0; x &lt; 320; x++)<BR>{<BR>circle(x, y, r, color);<BR>circle(639-x,y,r,color);<BR>}<BR><BR>这样就行了吧<BR><BR>至于出现线的问题在每次画之前用背景色重画一遍就可以了

ensonpan3927 发表于 2006-12-4 23:00

<P>问题解决了,太感谢两位了!感激啊!</P>

页: [1]

编程论坛