LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 794|回复: 2

MetaPost 的问题

[复制链接]
发表于 2006-1-19 16:18:31 | 显示全部楼层 |阅读模式
下面的 macro dcircle 我希望当它的第二个参数为 1 时画一个带叉的圆,否则只画一个圆。圆的位置在 P。这段代码编译不过去,请问哪里错了?谢谢。

  1. def dcircle(expr P, del) =
  2.   fill fullcircle scaled 7bp shifted P withcolor white;
  3.   draw fullcircle scaled 7bp shifted P
  4.   if del>0 :
  5.     begingroup
  6.       save x, y;
  7.       x := xpart P;
  8.       y := ypart P;
  9.       draw (x + 7bp, y + 7bp)--(x - 7bp, y - 7bp)
  10.       draw (x - 7bp, y + 7bp)--(x + 7bp, y - 7bp)
  11.     endgroup
  12.   fi;
  13. enddef;

  14. beginfig(1)
  15.   pair A;
  16.   A:=(0,0);
  17.   dcircle(A, 1);
  18. endfig;

  19. beginfig(2)
  20.   pair A,B;
  21.   A:=(0,0);
  22.   B:=(-0.65cm,-1cm);
  23.   draw A--B;
  24.   dcircle(A, 0);
  25.   dcircle(B, 0);
  26. endfig;
  27. end;
复制代码
发表于 2006-1-19 20:42:01 | 显示全部楼层
draw fullcircle scaled 7bp shifted P
这后面我加了一个分号(;),变成
draw fullcircle scaled 7bp shifted P;
可以通过,但是似乎还有一些警告.不过图案已经出来了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-20 09:29:09 | 显示全部楼层
太感谢了!
我真笨,竟忘了这个问题 :p
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表