【发布时间】:2013-04-12 07:53:52
【问题描述】:
我一直试图让我的场景跟随我的玩家精灵,但由于某种原因它没有跟随。谁能解释为什么?我试过以下教程,但没有运气。这是我当前的代码:
[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;
}
【问题讨论】:
-
您知道允许图层跟随其子节点之一的 CCFollow 操作吗?
-
哦,谢谢,不知道 ccfollow 也可以影响图层。
-
实际上只有在图层上运行才有效
-
尝试使用 [layer runAction: [CCFollow actionWithTarget:Player]]; & CCLayer *层;但没有运气。有任何想法吗?这是有道理的。
-
在一个新的空项目中试一试。有用。只是不要在图层上更改位置或运行其他移动操作。并确保 layer 是 CCLayer 类。
标签: objective-c cocos2d-iphone kobold2d