我一直试图让我的场景跟随我的玩家精灵,但由于某种原因它没有跟随。有谁能解释为什么?我试过按照教程但没有运气。这是我目前的代码:
[self setViewpointCenter:Player.position];
-(void)setViewpointCenter:(CGPoint) position {
CGSize winSize = [[CCDirector sharedDirector] winSize];
int x = MAX(position.x, winSize.width / 2);
int y = MAX(position.y, winSize.height / 2);
x = MIN(x, (theMap.mapSize.width * theMap.tileSize.width) - winSize.width / 2);
y = MIN(y, (theMap.mapSize.height * theMap.tileSize.height) - winSize.height / 2);
CGPoint actualPosition = ccp(x, y);
CGPoint centerOfView = ccp(winSize.width/2, winSize.height/2);
CGPoint viewPoint = ccpSub(centerOfView, actualPosition);
self.position = viewPoint;
}
答案 0 :(得分:1)
废弃我的原始代码并将其替换为LearnCocos2D推荐的干净代码
[self runAction: [CCFollow actionWithTarget:Player]];
再次感谢LearnCocos2D。
答案 1 :(得分:0)
我不确定我是否明白你要做的事情清楚, 但我想也许你想让地图移动到玩家后面? 如果是这种情况,您可以尝试移动地图而不是自己。 我的项目中有一个非常相似的功能,基本上有一行不同, 那是最后一行。
self.position = viewPoint;
这就是它在我的代码中的显示方式:
map.position = viewPoint;
希望有所帮助!