私は何週間も CCLayerPanZoom で問題を抱えていましたが、ようやく近づきましたが、まだ問題が発生しています。8000 ピクセル x 8000 ピクセルの非常に大きなタイル マップがあり、約 2.0f にズームインし、約 0.4f にズームアウトする機能が必要です。以下のコードは、タイル マップ全体をパンでき、端を越えてパンできないという点でうまく機能します。これは CCLayerPanZoom でよくある問題ですが、このコードではズームインまたはズームアウトができません。どちらも機能していないため、今のところ minScale と maxScale をコメントアウトしました。minScale と maxScale の場所を変更しようとしましたが、どこでも機能しません。minScale と maxScale を機能させてズームが機能するようにする方法を知っている人はいますか?
//PanZoomLayer
_panZoomLayer = [[CCLayerPanZoom node] retain];
[self addChild: _panZoomLayer];
_panZoomLayer.delegate = self;
[_panZoomLayer addChild: _tileMap z :1 tag: kBackgroundTag];
_panZoomLayer.mode = kCCLayerPanZoomModeSheet;
_panZoomLayer.rubberEffectRatio = 0.0f;
CCNode *backgroundZ = [_panZoomLayer getChildByTag: kBackgroundTag];
CGRect boundingRect = CGRectMake(0, 0, 0, 0);
boundingRect.size = [backgroundZ boundingBox].size;
[_panZoomLayer setContentSize: boundingRect.size];
_panZoomLayer.anchorPoint = ccp(0.5f, 0.5f);
_panZoomLayer.position = ccp(0.5f * winSize.width, 0.5f * winSize.height);
_panZoomLayer.panBoundsRect = CGRectMake(0, 0, winSize.width, winSize.height);
_panZoomLayer.minScale = 0.4f;
_panZoomLayer.maxScale = 2.0f;
//end PanZoomLayer