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

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

ensonpan3927 发布于 2006-12-04 23:08, 1325 次点击
我的问题就是:怎样实现从直线上一点实现同时向相反方向运动啊?(就是从开始一个小圆到两个小圆同时向相反方向运动,假如那个点一个小圆)
希望各位再次顶力相助,在下感激了!
11 回复
#2
一笔苍穹2006-12-05 10:05

反向与同向类似啊,举一反三吧,学编程需要自己思考的,否则代码再多,也不是你自己的。

#3
ensonpan39272006-12-05 12:31
我主要是急着要用啊,不然我也不会求助了!把别人的东西吸收为自己的东西
,那也会变成自己的了!
#4
ensonpan39272006-12-05 13:26
for(x=241;x<360;x++) 这个是向右运动的
{
circle(x,120,2);

}

for(x=241;x>120;x--) 这个向左运动的
{
circle(x,120,2);
}

这两个怎么组合起来才能实现从直线上一点实现同时向相反方向运动啊?高手们帮个忙啊,就差这个我就可以交差了!
#5
一笔苍穹2006-12-05 16:19
你在外面套个大循环也行就能用了
#6
ensonpan39272006-12-05 22:18
斑竹 还是调不出来啊!外面套个大循环怎么套啊?
#7
一笔苍穹2006-12-06 10:17
while (x1 < 360)
{
for(x1=241;x1<360;x1++) 这个是向右运动的
{
circle(x1,120,2);

}

for(x2=241;x2>120;x2--) 这个向左运动的
{
circle(x2,120,2);
}
}
随便套了,是循环就行了
#8
ensonpan39272006-12-06 13:09
这个调不过啊,而且把while (x1&gt;120)才能画出来,但是两个圆不是同时运动的(向相反方向)
#9
ensonpan39272006-12-06 13:16
斑竹你帮我调看看啊!谢谢了!
#10
一笔苍穹2006-12-06 15:32
合并一下:
while (x1 < 360)
{
circle(x1,120,2);
circle(x2,120,2);
if (x1 < 360) x1++;
if (x2 > 120) x2--;
}
或者再合并一下:
for(x1 = x2 = 241; x1<360; x1++, x2--)
{
circle(x1,120,2);
circle(x2,120,2);
}
还可以合并:
for(x1 = 241; x1<360; x1++)
{
circle(x1,120,2);
circle(241 - (x1 - 241),120,2);
}
第二个circle还能简化:
for(x1 = 241; x1<360; x1++)
{
circle(x1,120,20,2);
circle(482 - x1, 120, 2);
}
真的很简单,一个变量递增的同时另一个递减,加油吧。
#11
ensonpan39272006-12-06 19:16
谢谢斑竹,编程真不容易啊!
#12
qiyueban2006-12-21 16:27

只要多练习就行老!~

1