(TiledWorldMap) 错误:需要“double?”类型的值,但得到“String”类型的值

时间:2021-06-05 20:26:23

标签: flutter dart tiled flame

我对火焰、颤动和飞镖总体还是很陌生,但我正在尝试使用位于火焰顶部的 Bonfire 插件来显示平铺的世界地图,但是每当我尝试运行该程序时,它都会告诉我该值存储在 'TildWorldMap' 中的类型是 String 而不是 double 类型,这是正确的,因为我通过字符串传递了一个 json 文件 ('tiled/firsttry.json')。我想知道是否有另一种方法可以将字符串存储为双精度值,或者这只是我没有发现的语法错误?

import 'package:bonfire/bonfire.dart';
import 'package:flutter/material.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  Flame.device.fullScreen();
  Flame.device.setLandscape();
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {


  MyHomePage({Key? key, required this.title}) : super(key: key);
  
  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {

  @override
  Widget build(BuildContext context) {
    return BonfireTiledWidget(
      map: TiledWorldMap('tiled/firsttry.json', forceTileSize: Size(16, 16)),
      lightingColorGame: Colors.black.withOpacity(0.5),
    joystick: Joystick(
      directional: JoystickDirectional(
        isFixed: false,
      )
    ),
      background: BackgroundColorGame(Colors.pinkAccent),
    );
  }
}

1 个答案:

答案 0 :(得分:0)

我是通过使用 URL 而不是 JSON 文件来解决这个问题的。