我有一个被认为是敌人的阵列。他们的基本速度是2(enemyBaseSpeed)。根据用户的等级,每次速度增加并乘以(speedLevelInc),即.5。公式如下:
tempEnemy.speed = enemyBaseSpeed + ((level - 1) * speedLevelInc);
我想让敌人达到特定等级时达到最大速度,让我们说第5级。当他们达到5级时,我希望它们以恒定的最大速度运行,让我们说6.即使他们确实得到了等级6,7,8 ...我希望他们所有人都以最高速度跑。我怎么能这样做?
答案 0 :(得分:1)
在分配速度后,只需限制值。
tempEnemy.speed = enemyBaseSpeed + ((level - 1) * speedLevelInc);
if (tempEnemy.speed > MAX_SPEED) {
tempEnemy.speed = MAX_SPEED;
}
最好使用setter而不是使speed
成为公共属性。例如,如果您有一个Enemy
类,那么:
private var _speed:Number;
private const MAX_SPEED:Number = 4; // change this as needed
public function set speed(value:Number):void {
_speed = value;
if (_speed > MAX_SPEED) {
_speed = MAX_SPEED;
}
}
public function get speed():Number {
return _speed;
}
// from other place, value will be capped to MAX_SPEED
tempEnemy.speed = enemyBaseSpeed + ((level - 1) * speedLevelInc);