flutter_turtle

flutter_turtle 是 Flutter 的一个简单的海龟图形实现。它仅使用自定义画家通过一系列类似 Logo 的命令来绘制图形。

我为什么要这样做?

创建自己的DSL总是很有趣!

示例

一个快速的例子

@override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text(widget.title)),
      body: TurtleView(
        child: Container(),
        commands: [
          PenDown(),
          SetColor((_) => Color(0xffff9933)),
          SetStrokeWidth((_) => 2),
          Repeat((_) => 20, [
            Repeat((_) => 180, [
              Forward((_) => 25.0),
              Right((_) => 20),
            ]),
            Right((_) => 18),
          ]),
          PenUp(),
        ],
      ),
    );
  }

命令

目前支持的命令包括

海龟移动

  • 落笔
  • 起笔
  • 左转
  • 右转
  • 前进
  • 后退
  • 设置颜色
  • 设置描边宽度
  • 前往
  • 重置位置
  • 重置方向

流程控制

  • IfElse
  • 重复

  • 设置宏
  • 运行宏

杂项

  • 执行

GitHub

https://github.com/zonble/flutter_turtle