Flutter Processing

Processing 的 Flutter 版本。

本项目与 Processing 项目或相关组织无关。

flutter_processing 的目标是提供与 Processing 相同的易于学习的环境,同时增加了生产级 UI 工具包 Flutter 的附加实用性。对于传统的 Processing,底层语言的专业价值很小。有了 flutter_processing,底层工具 Flutter 足以胜任应用程序 UI 开发者的工作。flutter_processing 集教育工具和就业机会于一身。

想看看这个项目是如何实现的吗?几乎所有的更改都被记录并发布到了 YouTube 上的 SuperDeclarative! 频道。

要查看哪些 Processing API 已移植到 Flutter,请参阅 API 列表



入门

要试玩一些演示,请克隆此仓库并运行示例应用程序!

要在 Flutter 中像在 Processing 中一样绘制画布,请显示一个 Processing 小部件并实现一个 Sketch

void main() {
  runApp(
    MaterialApp(
      home: Processing(
        sketch: Sketch.simple(
          setup: (sketch) async {
            // TODO: do your typical Sketch setup
            //       stuff here. Call methods on
            //       the provided sketch object.
          },
          draw: (sketch) async {
            // TODO: do your typical Sketch drawing
            //       stuff here. Call methods on
            //       the provided sketch object.
          },
        ),
      ),
    ),
  );
}

要保留和访问 Sketch 中的变量,或以更传统的方式实现 Sketch,请继承 Sketch

void main() {
  runApp(
    MaterialApp(
      home: Processing(
        sketch: MySketch(),
      ),
    ),
  );
}

class MySketch extends Sketch {
  @override
  Future<void> setup() async {
    // TODO: do setup stuff here
  }

  @override
  Future<void> draw() async {
    // TODO: do drawing stuff here
  }
}

参与进来

如果您创作了任何酷炫的作品,请务必将其发布到 Twitter 并标记 @SuprDeclarative@FlutterDev

如果您需要实现某些功能,或者发现错误,请查看 贡献指南,然后在 GitHub 项目中提交问题。

GitHub

查看 Github