我试图找到一种更优雅的方式来减少我的if语句,我现在所拥有的有点凌乱,我认为可以做得更好,有什么建议吗?
if(ship.position.y >= transform.position.y + yBound)
{
hitBounds = true;
}
if(ship.position.y <= transform.position.y - yBound)
{
hitBounds = true;
}
if(ship.position.x >= transform.position.x + xBound)
{
hitBounds = true;
}
if(ship.position.x <= transform.position.x - xBound)
{
hitBounds = true;
}
谢谢你的时间!
更新
if(Mathf.Abs(ship.position.x - transform.position.x) >= xBound || Mathf.Abs(ship.position.y - transform.position.y) >= yBound)
{
hitBounds = true;
}
做了一个款待,感谢一百万!
答案 0 :(得分:4)
hitBounds = Math.Abs(ship.position.x - transform.position.x) >= xBound || Math.Abs(ship.position.y - transform.position.y) >= yBound;
答案 1 :(得分:0)
如果没有if声明怎么样?
hitBounds = (ship.position.y >= transform.position.y + yBound) || (ship.position.y <= transform.position.y - yBound) || (ship.position.x >= transform.position.x + xBound) || (ship.position.x <= transform.position.x - xBound);
答案 2 :(得分:0)
因为在所有情况下,hitBounds都是“true”。 如果使用||,您可以使用一个(或)条件。 我希望所有这些条件都是独立的。如果他们是依赖使用和他们。 祝你好运!