如何解决麻线Sugarcube,限制玩家数据
首先,我对Twine和Sugarcube还是很陌生,但是直到现在我还是找到了自己的出路,但现在我一直在努力寻找并回答以下问题:
我的角色具有一些强度和精力等统计数据。
我这样使用它们:
在StoryInit中:
<<set $energy to 100>>
在故事的段落中:
<<set $energy to $energy +10>>
现在,我想分别为所有统计信息设置最大值和最小值。 我以前是这样的:
<<set $energy to $energy +30>>
<<if $energy gte 100>><<set $energy to 100>>
<</if>>
在那里,分别限制这些统计信息的最佳方法是什么。 (因此强度最大为200,能量最大为100)
解决方法
我有一段时间没有使用 Twine,但我认为你可以像往常一样使用 javascript Math 的东西:
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',theme: ThemeData(
primarySwatch: Colors.blue,visualDensity: VisualDensity.adaptivePlatformDensity,),home: MyHomePage(title: 'Flutter Demo Home Page'),);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key key,this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),body: _buildBody(),floatingActionButton: FloatingActionButton(
onPressed: () {},tooltip: 'Increment',child: Icon(Icons.add),);
}
Widget _buildBody() {
return ListView.builder(
itemCount: 5,padding: EdgeInsets.only(left: 16,right: 16),shrinkWrap: true,itemBuilder: (context,index) {
return Container(
// height: 76,margin: EdgeInsets.only(bottom: 13),padding: EdgeInsets.only(left: 24,top: 12,bottom: 12,right: 22),decoration: BoxDecoration(
color: Color(0xFFFFFFFF),borderRadius: BorderRadius.circular(15),boxShadow: [
BoxShadow(
offset: Offset(0,10),blurRadius: 50,color: Colors.blue.withOpacity(0.23))
]),child: Row(
children: <Widget>[
Container(
height: 57,width: 57,decoration: BoxDecoration(
shape: BoxShape.circle,image: DecorationImage(
image: AssetImage("assets/images/image_1.png"))),SizedBox(
width: 13,Expanded(
child: Text(
"testing123451 testing123451 testing123451 testing123451",],);
});
}
}
或者把它做成一个小部件:
<<set $energy to Math.clamp($energy + 30,100)>>
所以你可以使用:
<<widget setEnergy>>
<<set $energy to Math.clamp($energy + $args[0],100)>>
<</widget>>
这样您就可以避免重复/错误。为力量等制作一个类似的,只需更改 100。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。