例:
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。ccp
是CGPointMake
的包装,它只是创建一个CGPoint,它由两个值x和y组成,以创建2D坐标。查找CGPointMake
,因为这正是ccp
的含义。