SDL中文论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2917|回复: 0
打印 上一主题 下一主题

[Discuss] Mscgen

[复制链接]

187

主题

346

帖子

2450

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2450
跳转到指定楼层
楼主
发表于 2020-7-22 22:11:38 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 ancientcc 于 2020-7-22 22:14 编辑

如何使用Mscgen
1、下载。Mscgen是个免费小工具,下载地址:http://www.mcternan.me.uk/mscgen:mscgen语法很简单,看那一网页就能理解它的语法。
2、安装。下载的已是一个标准Windows安装程序,按步骤安装即可。
3、使用。Mscgen总的来说是用户编写一个*.msc文本文件,然后用它提供的mscgen.exe生成一个图像文件。
让进行一次实际操作。
1、创建一个文本文件,输入以下文件内容。

  1. msc {
  2.         arcgradient = 10;
  3.        
  4.         a [label="Mobile"],b [label="Server"];
  5.         a=>b [label="version"];
  6.         a<=b [label="mustlogin"];
  7.         a=>b [label="login", arcskip="1"];
  8.         a<=b [label="join_lobby"];
  9.         |||;
  10.         a<<b [label="gamelist_diff.user1"];
  11.         a<<b [label="gamelist_diff.user2"];
  12. }
复制代码
2、保存,文件名“sample.msc”。
3、进入Windows自带命令行程序,输入以下命令。
  1. mscgen -i sample.msc -T png
复制代码
4、mscgen执行完后就会在“sample.msc”所在目录下生成扩展名改为png的“sample.png”。

:右侧标注是为之下说明方便而加的。

Mscgen语法
Mscgen语法很简单,看http://www.mcternan.me.uk/mscgen差不多就已能理解。这里着重说下一个概念:消息距离。
消息距离:在Mscgen内,同一个实体连续发出A、B两条消息,消息起点在垂直方向上距离是一定的,例如图中显示的M像素。Mscgen每次生成MSC时消息距离是不固定的,像arcgradient值就会影响最终出来的消息距离。

消息距离有什么用呢?让看下图中涉及到的三个弧度偏移值。
  • arcgradient=10:在垂直方向上,一条消息终点距起点偏移。图中“孤度偏移(arcgradient)”指示了这个值。
  • arcskip="1":弧度下降因子。arcskip=1表示该消息弧的起点和终点在垂直方向上差消息距离个像素,arcskip=2则是2*消息距离像素。图中可看出arcskip、arcgradient是可叠加的。
  • |||:在行间添加额外空隙。这个空隙高度等于消息距离的M像素。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|丽谷软件|libsdl.cn

GMT+8, 2024-5-20 00:48 , Processed in 0.051777 second(s), 22 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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