我正在使用基于磁贴的游戏,并且还使用了操纵杆。使用操纵杆精灵体完美移动,但瓷砖地图无法滚动。
-(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;
}
这是真的逻辑吗? 请帮帮我
提前致谢
答案 0 :(得分:1)
你可能想看一下关于瓷砖地图的这篇写得很好的教程,它不使用操纵杆,但很容易改变它的代码(我自己这样做了)。 http://www.raywenderlich.com/1163/how-to-make-a-tile-based-game-with-cocos2d