ccpClamp在Cocos2d中做了什么?

时间:2012-03-25 22:40:29

标签: objective-c cocos2d-iphone

谷歌一无所获,所以我想问问。 ccp实现了什么?

以下是在方法中使用ccpClamp的示例。

-(void) moveCamera:(CGPoint)pos
    {
        CGPoint to = ccpClamp(pos, cameraMin, cameraMax);
        to = ccpSub(to, cameraOffset);
        [self.camera setCenterX:to.x centerY:to.y centerZ:0];
        [self.camera setEyeX:to.x eyeY:to.y eyeZ:[CCCamera getZEye]];

        // update hud-level sprites
        [(HudLayer*)[self.parent getChildByTag:kTagHudLayer] moveSprites:[self getCameraPosition]];
    }

1 个答案:

答案 0 :(得分:5)

official documentation并未解释 clamp 这个词的含义,但是 它用于将值限制为设定边界(低,高)。 在您的示例中,它等同于:

if (pos < cameraMin)
    return cameraMin;
else if (pos > cameraMax)
    return cameraMax;
else
    return pos;

根据dictionary.com clamp 表示:

  
      
  1. 一种装置,通常是一些刚性材料,用于加固或支撑物体或将它们固定在一起。
  2.   
  3. 具有相对侧面或部件的器具,可以调节或靠近在一起以固定或压缩物品。
  4.