任何帮助表示赞赏,因为我试图弄清楚这一点但不能。我正在制作一个游戏,每个新游戏随机显示大约 20 个图块。我目前有一个“列表”小部件,其中包含所有 20 个图块作为“平面按钮”小部件。然后我使用“randomNumGen..shuffle”函数将它们随机化,并在“SliverGrid”内以随机顺序显示它们(5 个交叉,4 行)。然后我希望用户单击他们想要的那个,然后单击他想要放置该图块的位置(下面是一个空的 Slivergrid)(它是玩家的大本营)。
问题是我无法弄清楚如何将特定的“数据”与每个图块相关联。例如..
Tile 1 = 5 energy and 2 people.
Tile 2 = 3 energy and 4 people
Tile 3 = 4 energy and 3 people.... and so on for all 20 tiles.
一旦它们变得随机化,我就无法弄清楚如何将该数据“提供”给选择该磁贴的用户,以便用户在选择磁贴 1(位于随机位置)时收到“5 能量和 2 个人”。
import 'package:flutter/material.dart';
import 'dart:math';
class TileData {
int position;
int energy;
int people;
TileData({this.position, this.energy, this.people});
}
// The 'add' below is causing the error "The expression here has a type of void and therefore can not be used"
List<TileData> list=[];
list.add(TileData(
position:1,
energy:2,
people:4
));
list.add(TileData(
position:2,
energy:5,
people:3
));
// The "tileList" below is causing error "Undefined name tileList"
List<FlatButton> buttons = List.generate(tileList.length, (position) {
TileData data = tileList[position];
return FlatButton(
child: Text('${data.position}'),
onPressed: () {
print(data.energy);
print(data.people);
});
});