0

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

-(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;
}

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

提前致谢

4

1 回答 1

1

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

于 2012-08-10T12:58:15.740 回答