我想用XPCE制作一个动画,它由任意数量的移动圆组成。这些圆以Prolog列表的形式给出,其中包含每个圆的坐标、半径和颜色。因此,该列表如下所示:[[1,2,20,red],[40,2,15,green],...]当然,我可以生成一个圆,给它命名并给它着色如下:
new(@p,picture).
send(@p,display,new(@ci,circle(20)),point(1,2)).
send(@ci,fill_pattern,colour(red)).但是,当我想表示整个列表时,我该怎么办呢?不知何故,我需要动态名称,但是像这样的
send(@p,display,new(@X,circle(20)),point(1,2)).其中X是先前指定的某些标识符不被接受。
发布于 2012-07-10 21:19:07
像这样的吗?
t1 :-
L = [[[1,2],20,red],[[40,2],15,green]] ,
new(D,picture),
maplist(my_display(D), L),
send(D, open).
my_display(D, [[X,Y], R, Colour]) :-
new(C, circle(R)),
send(C, fill_pattern, colour(Colour)),
send(D, display, C, point(X,Y)).https://stackoverflow.com/questions/11410409
复制相似问题