如何为物体提供最大速度?

时间:2013-11-18 04:58:24

标签: actionscript-3 flash actionscript

我有一个被认为是敌人的阵列。他们的基本速度是2(enemyBaseSpeed)。根据用户的等级,每次速度增加并乘以(speedLevelInc),即.5。公式如下:

tempEnemy.speed = enemyBaseSpeed + ((level - 1) * speedLevelInc);

我想让敌人达到特定等级时达到最大速度,让我们说第5级。当他们达到5级时,我希望它们以恒定的最大速度运行,让我们说6.即使他们确实得到了等级6,7,8 ...我希望他们所有人都以最高速度跑。我怎么能这样做?

1 个答案:

答案 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);