瀏覽代碼

[flutter] Fix y-offset calculation in layouting.

Mario Zechner 2 年之前
父節點
當前提交
e526619e96
共有 2 個文件被更改,包括 2 次插入2 次删除
  1. 1 1
      spine-flutter/example/lib/main.dart
  2. 1 1
      spine-flutter/lib/spine_widget.dart

+ 1 - 1
spine-flutter/example/lib/main.dart

@@ -55,7 +55,7 @@ class SimpleAnimation extends StatelessWidget {
 
 
     return Scaffold(
     return Scaffold(
       appBar: AppBar(title: const Text('Spineboy')),
       appBar: AppBar(title: const Text('Spineboy')),
-      body: SpineWidget.asset("assets/skeleton.json", "assets/skeleton.atlas", controller, alignment: Alignment.centerLeft, fit: BoxFit.none),
+      body: SpineWidget.asset("assets/skeleton.json", "assets/skeleton.atlas", controller, alignment: Alignment.topLeft, fit: BoxFit.cover),
       // body: SpineWidget.asset("assets/spineboy-pro.skel", "assets/spineboy.atlas", controller, alignment: Alignment.bottomLeft)
       // body: SpineWidget.asset("assets/spineboy-pro.skel", "assets/spineboy.atlas", controller, alignment: Alignment.bottomLeft)
       // body: SpineWidget.file("/Users/badlogic/workspaces/spine-runtimes/examples/spineboy/export/spineboy-pro.skel", "/Users/badlogic/workspaces/spine-runtimes/examples/spineboy/export/spineboy.atlas", controller),
       // body: SpineWidget.file("/Users/badlogic/workspaces/spine-runtimes/examples/spineboy/export/spineboy-pro.skel", "/Users/badlogic/workspaces/spine-runtimes/examples/spineboy/export/spineboy.atlas", controller),
       // body: const SpineWidget.http("https://marioslab.io/dump/spineboy/spineboy-pro.json", "https://marioslab.io/dump/spineboy/spineboy.atlas"),
       // body: const SpineWidget.http("https://marioslab.io/dump/spineboy/spineboy-pro.json", "https://marioslab.io/dump/spineboy/spineboy.atlas"),

+ 1 - 1
spine-flutter/lib/spine_widget.dart

@@ -345,7 +345,7 @@ class _SpineRenderObject extends RenderBox {
 
 
   void _setCanvasTransform(Canvas canvas, Offset offset) {
   void _setCanvasTransform(Canvas canvas, Offset offset) {
     final double x = -_bounds.x - _bounds.width / 2.0 - (_alignment.x * _bounds.width / 2.0);
     final double x = -_bounds.x - _bounds.width / 2.0 - (_alignment.x * _bounds.width / 2.0);
-    final double y = -_bounds.y - _bounds.height / 2.0 + (_alignment.y * _bounds.height / 2.0);
+    final double y = -_bounds.y - _bounds.height / 2.0 - (_alignment.y * _bounds.height / 2.0);
     double scaleX = 1.0, scaleY = 1.0;
     double scaleX = 1.0, scaleY = 1.0;
 
 
     switch (_fit) {
     switch (_fit) {