算术运算
问题
我要修改一些东西,比如sprite的角度和位置
解决办法
使用复合赋值运算来改变变量或属性的值
讨论
经常我们需要的新值需要建立在旧值的基础上,比如说,我要移动sprite到离当前位置向右10个像素的地方。
一条赋值语句通过赋值操作符(=号)建立,=号右边表达式被运算出来然后其结果存储在左边的变量或属性中。
// 给变量 quantity 增加6
quantity = quantity + 6;
在这些算术操作中,还有些很便利的复合操作符,如 +=, -=, *=, and /= 会被经常用到。
下面两个语句都是给quantity 加上6:
quantity = quantity + 6;
quantity += 6;
下面两个语句都是给quantity 减去6:
quantity = quantity - 6;
quantity -= 6;
下面两个语句让quantity 乘以 factor:
quantity = quantity * factor;
quantity *= factor;
下面两个语句让 quantity 除以 factor:
quantity = quantity / factor;
quantity /= factor;
如果只是增加1或减少1,还可以象下面这样写
这个语句让quantity 增加1:
quantity++;
下面的两个语句效果相同
quantity += 1;
这个语句让 quantity 减去1:
quantity --;
下面的两个语句效果相同:
quantity = quantity 1;
quantity -= 1;
自增和自减运算符还有前缀写法:
var quantity:Number = 5;
trace(quantity++); // Displays: 5
trace(quantity); // Displays: 6
var quantity:Number = 5;
trace(++quantity); // Displays: 6
trace(quantity); // Displays: 6
回到起初的问题,你可以用这些操作符修改属性值。下面的代码指定了sprite每帧角度加5:
private function onEnterFrame(event:Event) {
_sprite.rotation += 5;
}
问题
我要修改一些东西,比如sprite的角度和位置
解决办法
使用复合赋值运算来改变变量或属性的值
讨论
经常我们需要的新值需要建立在旧值的基础上,比如说,我要移动sprite到离当前位置向右10个像素的地方。
一条赋值语句通过赋值操作符(=号)建立,=号右边表达式被运算出来然后其结果存储在左边的变量或属性中。
// 给变量 quantity 增加6
quantity = quantity + 6;
在这些算术操作中,还有些很便利的复合操作符,如 +=, -=, *=, and /= 会被经常用到。
下面两个语句都是给quantity 加上6:
quantity = quantity + 6;
quantity += 6;
下面两个语句都是给quantity 减去6:
quantity = quantity - 6;
quantity -= 6;
下面两个语句让quantity 乘以 factor:
quantity = quantity * factor;
quantity *= factor;
下面两个语句让 quantity 除以 factor:
quantity = quantity / factor;
quantity /= factor;
如果只是增加1或减少1,还可以象下面这样写
这个语句让quantity 增加1:
quantity++;
下面的两个语句效果相同
quantity += 1;
这个语句让 quantity 减去1:
quantity --;
下面的两个语句效果相同:
quantity = quantity 1;
quantity -= 1;
自增和自减运算符还有前缀写法:
var quantity:Number = 5;
trace(quantity++); // Displays: 5
trace(quantity); // Displays: 6
var quantity:Number = 5;
trace(++quantity); // Displays: 6
trace(quantity); // Displays: 6
回到起初的问题,你可以用这些操作符修改属性值。下面的代码指定了sprite每帧角度加5:
private function onEnterFrame(event:Event) {
_sprite.rotation += 5;
}