屏幕外视差节点与cclayers滚动

时间:2011-12-22 09:00:45

标签: ios ipad cocos2d-iphone nodes parallax

Mange用视差节点滚动我的CCLayers但是如何设置滚动的边界?

使用:

- (void)registerWithTouchDispatcher {
    [[CCTouchDispatcher sharedDispatcher] addTargetedDelegate:self priority:1 swallowsTouches:NO];
}

-(BOOL) ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event {
    return YES;
}

-(void) ccTouchMoved:(UITouch *)touch withEvent:(UIEvent *)event
{
    CGPoint touchLocation = [touch locationInView: [touch view]];   
    CGPoint prevLocation = [touch previousLocationInView: [touch view]];    

    touchLocation = [[CCDirector sharedDirector] convertToGL: touchLocation];
    prevLocation = [[CCDirector sharedDirector] convertToGL: prevLocation];

    CGPoint diff = ccpSub(touchLocation,prevLocation);

    CCNode *node = [self getChildByTag:kTagNode];
    CGPoint currentPos = [node position];
    [node setPosition: ccpAdd(currentPos, diff)];

}

1 个答案:

答案 0 :(得分:0)

您可以设置ZoomController的swallowsTouches属性,并查看TargetTouchDelegate以处理更复杂的触摸事件。