Flutter天赋计算器插件wow_talent_calculator的使用
Flutter天赋计算器插件wow_talent_calculator的使用
WoW Talent Calculator(魔兽世界天赋计算器)
这是一个用于处理魔兽世界天赋计算器逻辑和状态的dart包。
特性
- 支持经典版、燃烧的远征和巫妖王之怒扩展。
- 投入天赋点。
- 移除天赋点。
- 重置一个专精。
- 重置所有专精。
- 设置专精状态(例如:加载保存的状态)。
- 打印专精到控制台。
- 天赋序列在后台保持保存。
- 打印所有专精到控制台。
- 打印天赋序列到控制台。
使用方法
要使用wow_talent_calculator
插件,将其作为依赖项添加到pubspec.yaml
文件中。
dependencies:
wow_talent_calculator: ^x.x.x
然后运行flutter pub get
命令来获取该包。
示例
以下是一个简单的示例,展示了如何使用wow_talent_calculator
插件。
import 'package:wow_talent_calculator/wow_talent_calculator.dart';
void main() {
// 初始化天赋计算器,设置扩展为经典版,职业为战士
var wtc = WowTalentCalculator(expansionId: 0, charClassId: 8);
// 按顺序投资天赋点
for (int i = 0; i < 2; i++) {
wtc.investPointAt(0, 0); // 第一个专精的第一个天赋
}
for (int i = 0; i < 3; i++) {
wtc.investPointAt(0, 2); // 第一个专精的第三个天赋
}
for (int i = 0; i < 5; i++) {
wtc.investPointAt(0, 5); // 第一个专精的第五个天赋
}
wtc.investPointAt(0, 8); // 第一个专精的第八个天赋
wtc.investPointAt(0, 9); // 第一个专精的第九个天赋
for (int i = 0; i < 3; i++) {
wtc.investPointAt(0, 10); // 第一个专精的第十个天赋
}
for (int i = 0; i < 2; i++) {
wtc.investPointAt(0, 14); // 第一个专精的第十四个天赋
}
// 第二个专精的投资
for (int i = 0; i < 5; i++) {
wtc.investPointAt(1, 2); // 第二个专精的第二个天赋
}
for (int i = 0; i < 5; i++) {
wtc.investPointAt(1, 6); // 第二个专精的第六个天赋
}
for (int i = 0; i < 5; i++) {
wtc.investPointAt(1, 11); // 第二个专精的第十一个天赋
}
for (int i = 0; i < 5; i++) {
wtc.investPointAt(1, 12); // 第二个专精的第十二个天赋
}
for (int i = 0; i < 2; i++) {
wtc.investPointAt(1, 13); // 第二个专精的第十三个天赋
}
for (int i = 0; i < 5; i++) {
wtc.investPointAt(1, 14); // 第二个专精的第十四个天赋
}
wtc.investPointAt(1, 17); // 第二个专精的第十七个天赋
for (int i = 0; i < 5; i++) {
wtc.investPointAt(1, 22); // 第二个专精的第二十二个天赋
}
wtc.investPointAt(1, 25); // 第二个专精的第二十五个天赋
// 打印专精和天赋序列
wtc.printAllSpecs(); // 打印所有专精
wtc.printBuildSequence(); // 打印天赋序列
}
控制台输出
__________________________________________
| 2 0 3 || 0 5 || 0 0 |
| | || || | |
| 0 5 | 0 || 0 5 || 0 | 0 0 |
| | | || || | | |
| 1 1 3 || 0 0 0 5 || 0 0 0 0 |
| | || || |
| 0 2 || 5 2 5 || 0 0 0 |
| || | || |
| 0 0 0 0 || 0 1 | 0 || 0 0 0 |
| | || | | || | |
| 0 | 0 || 0 | 5 || | 0 |
| | || | || | |
| 0 || 1 || 0 |
__________________________________________
额外信息
扩展
enum Expansions {
vanilla,
tbc,
wotlk,
}
职业
enum CharClasses {
druid,
hunter,
mage,
paladin,
priest,
roque,
shaman,
warlock,
warrior,
dk,
}
初始化
默认情况下,天赋计算器在未提供参数时初始化为expansionId: 0
和charClassId: 0
。
var wtc = WowTalentCalculator(expansionId: 0, charClassId: 0);
// 等同于
var wtcSame = WowTalentCalculator();
更多关于Flutter天赋计算器插件wow_talent_calculator的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter天赋计算器插件wow_talent_calculator的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
wow_talent_calculator
是一个用于在 Flutter 应用中实现《魔兽世界》天赋计算器的插件。它允许用户在应用中选择和查看不同职业的天赋树。以下是如何使用 wow_talent_calculator
插件的基本步骤:
1. 添加依赖
首先,你需要在 pubspec.yaml
文件中添加 wow_talent_calculator
插件的依赖:
dependencies:
flutter:
sdk: flutter
wow_talent_calculator: ^1.0.0 # 请使用最新版本
然后运行 flutter pub get
来获取依赖。
2. 导入插件
在你的 Dart 文件中导入插件:
import 'package:wow_talent_calculator/wow_talent_calculator.dart';
3. 使用 WowTalentCalculator
组件
WowTalentCalculator
是一个可以直接使用的 Flutter 组件。你可以在你的应用中的任何地方使用它。
class TalentCalculatorPage extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('魔兽世界天赋计算器'),
),
body: WowTalentCalculator(
classId: 1, // 职业ID,例如:1 代表战士
onTalentChange: (talentPoints) {
// 当天赋点发生变化时的回调
print('当前天赋点: $talentPoints');
},
),
);
}
}
4. 配置职业ID
classId
参数用于指定你想要显示的职业天赋树。以下是一些常见的职业ID:
- 1: 战士
- 2: 圣骑士
- 3: 猎人
- 4: 盗贼
- 5: 牧师
- 6: 死亡骑士
- 7: 萨满祭司
- 8: 法师
- 9: 术士
- 10: 武僧
- 11: 德鲁伊
- 12: 恶魔猎手
你可以根据用户的选择动态更改 classId
来显示不同职业的天赋树。
5. 处理天赋点变化
onTalentChange
回调函数会在用户更改天赋点时触发。你可以在这个回调中获取当前的天赋点分配情况,并将其保存或显示给用户。
6. 自定义样式
如果你需要自定义天赋计算器的样式,可以查看插件的文档或源码,了解如何调整外观和布局。
7. 运行应用
完成上述步骤后,你可以运行你的 Flutter 应用,并查看 WowTalentCalculator
组件的效果。
示例代码
以下是一个完整的示例代码:
import 'package:flutter/material.dart';
import 'package:wow_talent_calculator/wow_talent_calculator.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
title: '魔兽世界天赋计算器',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: TalentCalculatorPage(),
);
}
}
class TalentCalculatorPage extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('魔兽世界天赋计算器'),
),
body: WowTalentCalculator(
classId: 1, // 职业ID,例如:1 代表战士
onTalentChange: (talentPoints) {
// 当天赋点发生变化时的回调
print('当前天赋点: $talentPoints');
},
),
);
}
}