Zerker

Zerker 是一个灵活轻量的 Flutter Canvas 图形动画库。

ZerkerV

使用 Zerker,您可以创建许多看似繁琐的动画效果,例如动画效果、弹出动画、场景切换、图标效果等。

同时,您可以使用 Zerker 创建许多简单的游戏。Zerker 包含精灵、滚动背景和图集等元素,可以轻松地用它们创建游戏世界。

安装

将此添加到您的包的 pubspec.yaml 文件中,然后执行命令flutter pub get

dependencies:
  zerker: <latest_version_here>
更详细的安装步骤,您可以参考这里。 https://pub.dev/packages/zerker#-installing-tab-

入门

导入包

import 'package:zerker/zerker.dart';

用法

创建一个 zerker 小部件

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: Text(widget.title),
        ),
        body: Center(
          child: Zerker(app: MyZKApp(), clip: true, interactive: true, width: 350, height: 350),
        ));
  }
}

创建您的 Zerker 类,继承自 ZKApp

class MyZKApp extends ZKApp {

  @override
  init() {
    super.init();
    /// init zerker scene
  }

  @override
  update(int time) {
    super.update(time);
    
    sprite.position.x++;
  }
}

init 函数中初始化场景并创建元素

/// Create a zerker sprite
ZKSprite bigboy = ZKSprite(key: "bigboy")
	..position.x = size.width / 2
	..position.y = size.height / 2
	..animator.make("front", [0, 1, 2, 3, 4])
	..animator.make("left", ['5-9'])
	..animator.make("after", ['10-14'])
	..animator.make("right", ['15-19'])
	..onTapDown = (event) {
		bigboy.animator.play("right", 8, true);
   };
   
stage.addChild(bigboy);

/// Create a zerker text
ZKText text = ZKText()
	..setPosition(100, 100)
	..text = "hello world"
	..setStyle(color: Colors.blueGrey, backgroundColor: Colors.red[50]);
	
stage.addChild(_text);

GitHub

https://github.com/flutterkit/zerker