管道

由1(宽)X4(长)单元像素组成一个基本单位,管道就是由这样的基本单位组成,因此管道要遵循长度4单位的规则(比如管道的宽度是5个像素点,那么这个基本单位长度就是20个像素点),管道转弯也不能在一个基本单位内转弯;

之所以需要1X4来组成基本单位,就是需要使用4个点来完成管道的滚动显示,详细见下表:其中0表示暗背景,X表示亮前景;

模式mode 说明
0 0000 无液体
1 XX00-0XX0-00XX-X00X 正向流动
2 XX00-X00X-00XX-0XX0 反向流动
3 XXXX 满液体,静止

管道的路线可以由字符串来表示,命令参见下表:

命令 说明
B 按起点开始计算
Un 向上n格
Rn 向右n格
Dn 向下n格
Ln 向左n格
K 当前方向空一格
En 节点位置,并且记录,按当前方向前进一格
Sn 从En的位置开始启动新起点位置(节点)

在使用的时候,首先要确定原点,然后使用R2就可以在原点的基础上,向右走1X8单位,K命令可以空出一个单位(用于绘制阀门、开关等元件);对于管道分支,可以绘制到分支点,使用En记录该点坐标,绘制完主体管道后使用Sn跳到记录点,然后再绘制分支;

详细参见:设置管道路线

管道绘制语句只能绘制,并不能实现动态效果,要实现动态效果,需要专用控件,利用控件的定时器不停的按规则绘制,就形成了滚动的效果。