我在if语句中遇到了一个非常奇怪的问题。我在画布上有图像,我想用鼠标/触摸移动/拖动。图像运动很好。我想添加边界,所以图像永远不会离开视口..图像被缩放(高度)到画布的高度,所以我只需要添加左右边框..
if (planTranslate.X < 0)
{
planTranslate.X = 0;
}
else planTranslate.X = startPosition.X - vector.X;
if (planTranslate.X > maxX)
{
planTranslate.X = maxX;
}
else planTranslate.X = startPosition.X - vector.X;
第一个条件按预期工作,但第二个没有,我不知道为什么......
当我将if planTranslate.X > maxX
放在if planTranslate.X < 0
之前
图像在视口右侧停止,但继续向左移动。
任何建议或帮助都会非常感谢..请提前...
答案 0 :(得分:1)
您似乎只需要计算差异,然后检查最大/最小值
planTranslate.X = startPosition.X - vector.X;
if (planTranslate.X < 0)
{
planTranslate.X = 0;
}
if (planTranslate.X > maxX)
{
planTranslate.X = maxX;
}