例:

CGSize winSize = [[CCDirector sharedDirector] winSize];
int x = MAX(position.x, winSize.width /2);
    int y = MAX(position.y, winSize.height /2);
    x = MIN(x, (_tileMap.mapSize.width * _tileMap.tileSize.width)
            - winSize.width /2);
    y = MIN(y, (_tileMap.mapSize.height *_tileMap.tileSize.height)
            -winSize.height/2);
    CGPoint actualPosition = ccp(x, y);

    CGPoint centerOfView = ccp(winSize.width/2, winSize.height/2);
    self.position = centerOfView;

注意在NSObject中定义的MAX。我仍然不清楚它的作用。我尝试在文本文档中查找它,但没有得到相关结果。

同样,ccp是否仅取两个坐标并将其保存为一点?

例如。
CGPoint centerOfView = ccp(winSize.width/2, winSize.height/2);

谢谢!

最佳答案

MAX仅返回括号中各项的MAX值。例如,MAX(5,3)将返回5。

如果x = 1且y = 10,则MAX(y,x)将返回y。
ccpCGPointMake的包装,它只是创建一个CGPoint,它由两个值x和y组成,以创建2D坐标。查找CGPointMake,因为这正是ccp的含义。

09-13 01:39