所以我有这个功能。它应该做的是计算Raisin cookie是否在盘子上(我已经正确地宣布了所有vars)并且有一个动态文本显示卡路里计数。当饼干不在盘子里时,卡路里计数应该扣除饼干的卡路里计数(它不应该重置,因为我也有其他饼干)。 raisinOnce是一个布尔值,可以保证在将cookie添加到板上至少一次之前不会扣除卡路里。
function caloriesf(e:Event)
{
calories.text="only "+String(caloriesv)+" calories!";
if (((raisin.x > plateminx && raisin.x < platemaxx)&& (raisin.y > plateminy && raisin.y < platemaxx))&& raisinInPlate==false)
{
raisinOnce=true;
caloriesv+=50;
raisinInPlate=true;
return;
}
else if (((raisin.x < plateminx && raisin.x > platemaxx)&&(raisin.y < plateminy && raisin.y > platemaxx)) && raisinOnce==true)
{
raisinInPlate=false;
caloriesv-=50;
}
}
现在,当将cookie添加到盘子中时,这可以正常工作,但是当它被移除时不能正常工作!这有什么不对?
答案 0 :(得分:0)
我明白了。问题是else不需要语句而且我也不需要使用Once boolean ...更正后的代码如下(工作)
function caloriesf(e:Event)
{
calories.text="only "+String(caloriesv)+" calories!";
if ((raisin.x > plateminx && raisin.x < platemaxx)&& (raisin.y > plateminy && raisin.y < platemaxy))
{
if (raisinInPlate==false)
{
caloriesv+=50;
raisinInPlate=true;
}
}
else
{
if (raisinInPlate==true)
{
raisinInPlate=false;
caloriesv-=50;
}
}
}