将屏幕位置设置为屏幕中心

时间:2012-08-03 08:33:32

标签: cocos2d-iphone box2d-iphone

我正在使用基于磁贴的游戏,并且还使用了操纵杆。使用操纵杆精灵体完美移动,但瓷砖地图无法滚动。

-(void)setCenterOfScreen:(b2Vec2)position
{
    int x=MAX(position.x*PTM_RATIO, size.width/2);
    int y=MAX(position.y*PTM_RATIO, size.height/2);


    int x1=MIN(x, (theMap.mapSize.width * theMap.tileSize.width-size.width/2));
    int y1=MIN(y, (theMap.mapSize.height * theMap.tileSize.height-size.height/2));


    b2Vec2 goodpoint=b2Vec2(x1,y1);
    NSLog(@"GoodPoint X: %f",goodpoint.x);
    NSLog(@"GoodPoint Y: %f",goodpoint.y);


    b2Vec2 differ=b2Vec2((size.width/2-goodpoint.x),(size.height/2-goodpoint.y));
    position=differ;
}

这是真的逻辑吗? 请帮帮我

提前致谢

1 个答案:

答案 0 :(得分:1)

你可能想看一下关于瓷砖地图的这篇写得很好的教程,它不使用操纵杆,但很容易改变它的代码(我自己这样做了)。 http://www.raywenderlich.com/1163/how-to-make-a-tile-based-game-with-cocos2d