2011-10-09 2 views
6

私にはわからない問題があります。おそらく私は正しい知識を持っていないためです。Cocos2Dでタイルマップをスクロールする

タイルドで作成されたTMXマップがあります。マップは画面サイズよりも大きくなります(タイルは32x32ピクセル、タイルは100x100です)。 私がしたいのは、画面をスワイプして地図を移動できることです。

私はさまざまなチュートリアルをオンラインで見て、paddle.mの例を調べましたが、それでも動作させることはできません。 すべてのチュートリアルは、地図の周りにクランプされた中心のスプライトを移動することに焦点を当てています。 もう一度、私はマップをスワイプ/スライドすることでマップを移動できるようにしたいと思います。あなたのiPodをスクロールしたり、絵を動かしたりするときとほとんど同じです。

誰でも手助けできますか?ここで

は、私は上記のコードを使用して、画面をスワイプするとき、私は、画面上で見ている問題を説明するために、私のccTouchMovedコード

-(void) ccTouchMoved:(UITouch *)touch withEvent:(UIEvent *)event 
{ 
    CGPoint touchPointMap = [touch locationInView: [touch view]]; 
    touchPointMap = [[CCDirector sharedDirector] convertToGL: touchPointMap]; 
    touchPointMap = [self convertToNodeSpace: touchPointMap]; 
    CCLOG(@"Touch Point Map %lf, %lf", touchPointMap.x, touchPointMap.y); 

    self.position = CGPointMake(touchPointMap.x, touchPointMap.y); 
} 

です: 私が画面の中央に触れた場合と思われます、地図の左下隅がタッチされた座標にジャンプし、タッチが解除されるまで移動します。 地図の左下隅はいつも私が触れる場所に移動します。 また、マップが移動中は、狂ったように点滅し、過度に移動すると完全に消えます。

ありがとうございました。 ベストと親切によろしく、 hiro

答えて

6

私はこの問題の解決策を見つけました。 Cocos2Dコミュニティには非常に明るい人物がいて、有機的にパンニングするだけでなく、ズームイン/ズームアウトするコントローラを作成しています。あなたは文句を言わないあなたのtouchBegan、移動し、終了メソッドを記述する必要が

Link to Controller, example and preview movie

。このコントローラはすべてあなたのためにそれを行います。

コードは今cocos2d-の拡張機能の一部であるというのが私のinit

self.theMap = [CCTMXTiledMap tiledMapWithTMXFile: @"city_map.tmx"]; 
     self.bgLayer = [theMap layerNamed:@"bg"]; 

     // boundingRect is the area you wish to pan around 
     CGRect boundingRect = CGRectMake(0, 0, 32*50, 16*50); 

     theMap.anchorPoint = ccp(0,0); 
     [self addChild: theMap z: -1]; 

     // _controller is declared in the @interface as an object of CCPanZoomController 
     _controller = [[CCPanZoomController controllerWithNode:self] retain]; 
     _controller.boundingRect = boundingRect; 
     _controller.zoomOutLimit = _controller.optimalZoomOutLimit; 
     _controller.zoomInLimit = 2.0f; 

     [_controller enableWithTouchPriority:0 swallowsTouches:YES]; 
+1

:https://github.com/cocos2d/cocos2d-iphone-extensions – drewish

関連する問題