Cocos2d iphone 平移并缩放视图

Cocos2d iphone 平移并缩放视图,cocos2d-iphone,Cocos2d Iphone,我读过很多话题,但我很困惑。 我不知道是否使用相机,视差节点,移动层。。。。? 我正在尝试制作一个简单的测试程序: 我要显示的2d场景是: 1背景图像 2背景上的一些可选点 再来点别的雪碧 4在触摸拖放时,我将平移所有对象,在第二次平移事件中,我将从新位置而不是开始位置平移对象 5用两根手指缩放,缩放中心是实际显示图像的中心 我应该遵循哪个实现? 谢谢我现在已经写了这篇文章。bg是背景中的精灵,layer2是一个具有绘制方法的层,该方法在CGRectMake区域上绘制用于调试的矩形,以使某些区域

我读过很多话题,但我很困惑。 我不知道是否使用相机,视差节点,移动层。。。。? 我正在尝试制作一个简单的测试程序: 我要显示的2d场景是: 1背景图像 2背景上的一些可选点 再来点别的雪碧 4在触摸拖放时,我将平移所有对象,在第二次平移事件中,我将从新位置而不是开始位置平移对象 5用两根手指缩放,缩放中心是实际显示图像的中心 我应该遵循哪个实现?
谢谢

我现在已经写了这篇文章。bg是背景中的精灵,layer2是一个具有绘制方法的层,该方法在CGRectMake区域上绘制用于调试的矩形,以使某些区域可选择。 我还没有实现锚点从屏幕显示的中心进行缩放,这里需要帮助。。。 当我缩放和平移时,使用cgrectmake选择的区域不会显示在绘图方法显示的位置。绘图方法是缩放和平移的…但可选择的区域仍然保持在以前的位置

-(BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event{
oldLoc =[self convertTouchToNodeSpace: touch];
oldPosition=bg.position;
//NSLog(@"Start point: %f %f",firstPoint.x,firstPoint.y);
return YES;
}

-(void)ccTouchMoved:(UITouch *)touch withEvent:(UIEvent *)event{
CGPoint location =[self convertTouchToNodeSpace: touch];

bg.scale+=0.1;//self.anchorPoint=ccp(0,0.54); 
layer2.scale+=0.1;

newLoc.x=location.x-oldLoc.x;
newLoc.y=location.y-oldLoc.y;

bg.position=CGPointMake(oldPosition.x+newLoc.x,oldPosition.y+newLoc.y);
layer2.position=bg.position;
}

-(void)ccTouchEnded:(UITouch *)touch withEvent:(UIEvent *)event{
//bg.anchorPoint=newLoc;
CGPoint pp=[self convertTouchToNodeSpace: touch];

if ( CGPointEqualToPoint(oldLoc,pp) ) {
    NSLog(@"clik ");
    test *cc=(test*)[self getChildByTag:888];

    //NSLog(@"%@",(CGRectContainsPoint([cc getcaselle:0],pp) ? @"si":@"no"));

    for (int i=0; i<[cc getnumrect]; i++) {
        //NSLog(@"casella: %d", [cc getcaselle:i]);
        //if(CGRectContainsPoint([[self getChildByTag:888] getcaselle:i ],pp)) NSLog(@"botton %d",i);       
        }//contiene
    }//for
    return;
}
}

到目前为止你有什么工作吗,如果有什么?这可能有助于缩小答案的范围:。祝你好运!我不知道这是否是一个好的解决方案…但是:我已经添加了一个名为onlyScaleLayer的CCNode,并将其添加到场景中,并将所有图像添加到该层。在回叫刻度上,我只缩放缩放图层,在pan上,我改变图片的位置,任何评论都会被欣赏