作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
public bool animCurve = true;
public bool straightLine = false;
然后在更新中:
void Update()
{
if (objectsToMove != null && objectsToMove.Length > 0)
{
if (animCurve)
{
straightLine = false;
AnimationCurve();
}
if (straightLine)
{
animCurve = false;
StraightLineTrack();
}
}
}
运行游戏时,animCurve 为真,但如果我点击直线,则没有任何反应。我需要先取消选中 animCurve,然后再选中直线。
但如果直线没有被选中,我可以将 animCurve 设为真,它会自动将直线更改为假。为什么它不能以其他方式工作?为什么我需要先取消选中 animCurve,然后再选中 straightLine?
我希望当我检查将其中一个标志设置为 true 时,另一个标志将自动设置为 false。
最佳答案
您有两个 bool 变量,但您只希望其中一个为真。当一个为真时,另一个为假。这是应该使用枚举来简化您的逻辑的地方。
你的枚举:
public enum LineType
{
Curve, Straight
}
声明并检查启用了哪个:
LineType lineType = LineType.Straight;
void Update()
{
if (lineType == LineType.Straight)
{
StraightLineTrack();
}
else if (lineType == LineType.Curve)
{
AnimationCurve();
}
}
将其更改为曲线:
lineType = LineType.Curve;
关于c# - 如何在两个标志 bool 值之间切换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53363904/
我是一名优秀的程序员,十分优秀!