#pragma mark - Adjusted Box
-(CGRect)adjustedBoundingBox {
// Adjust the bouding box to the size of the sprite
// without the transparent space
CGRect vikingBoundingBox = [self boundingBox];
float xOffset;
float xCropAmount = vikingBoundingBox.size.width * 0.5482f;
float yCropAmount = vikingBoundingBox.size.height * 0.095f;
if ([self flipX] == NO) {
// Viking is facing to the rigth, back is on the left
xOffset = vikingBoundingBox.size.width * 0.1566f;
} else {
// Viking is facing to the left; back is facing right
xOffset = vikingBoundingBox.size.width * 0.4217f;
}
vikingBoundingBox =
CGRectMake(vikingBoundingBox.origin.x + xOffset,
vikingBoundingBox.origin.y,
vikingBoundingBox.size.width - xCropAmount,
vikingBoundingBox.size.height - yCropAmount);
if (characterState == kStateCrouching) {
// Shrink the bounding box to 56% of height
// 88 pixels on top on iPad
vikingBoundingBox = CGRectMake(vikingBoundingBox.origin.x,
vikingBoundingBox.origin.y,
vikingBoundingBox.size.width,
vikingBoundingBox.size.height * 0.56f);
}
return vikingBoundingBox;
}