我试图创建一个函数来改变点对象的属性x或y的值四次,每次只有满足两个条件。变量permissionSomething必须为1,x或y必须大于或小于某个数字,因为在这种情况下,它用于画布上的移动点,它必须保留在画布中。如果按下某个键,PermissionSomething设置为1,如果该键再次上升,则更改回默认值-1。
var permissionLeft = -1;
var permissionRight = -1;
var permissionUp = -1;
var permissionDown = -1;
function update()
{
switch (true)
{
case permissionLeft = 1 && dot.x > 29:
dot.x--;
break;
case permissionRight = 1 && dot.x < 841:
dot.x++;
break;
case permissionUp = 1 && dot.y > 29:
dot.y--;
break;
case permissionDown = 1 && dot.y < 541:
dot.y++;
break;
}
}
如果我运行它,即使没有按任何键,它也会以某种奇怪的方式开始移动,停止并开始来回移动。如果我没有按任何键,那么一些东西永远不应该是1,所以它永远不会移动。如果我写下四个if语句,就会发生同样的事情:
if (permissionLeft = 1 && dot.x > 29) {
dot.x--};
if (.....