您当前的位置: 首页 >  游戏

(NO.00001)iOS游戏SpeedBoy Lite成形记(十)

发布时间:2015-10-20 18:50:24 ,浏览量:0

上篇最后遇到是神马问题呢?

原来由于现在seq动作的时间变得不确定了,jump的持续时间不能对应发生变化,导致可能选手在比赛后边就没有跳跃动作了!这虽不影响整个代码逻辑,却多少有些让玩家不爽.

一种解决办法就是,将jump动作设置为永久重复动作,然后在回调block中将其关闭即可.因为Obj-C中的block是闭包(不太清楚闭包的童鞋请自行度娘),所以在block中引用外面的jump都不是个事儿.

下面是完整的matchRun方法的实现:

-(void)matchRun{
    CCLOG(@"%@ invoke!",NSStringFromSelector(_cmd)); if (_matching) { return;
    }

    [self matchReset];
    _matching = YES; for (Player *player in _players) {
        CCTime duration = (CCRANDOM_0_1() * 500.0/100) + 5.0;
        CCActionMoveBy *moveBy = [CCActionMoveBy actionWithDuration:duration position:ccp(0.9f, 0)];

        CCActionJumpBy *jump = [CCActionJumpBy actionWithDuration:duration position:ccp(0, 0) height:0.05 jumps:20];
        CCActionRepeatForever *repeat = [CCActionRepeatForever actionWithAction:jump];


        CCActionCallBlock *blk = [CCActionCallBlock actionWithBlock:^{
            _finishedCount++;
            [player endMatch];
            [player stopAction:repeat]; if (_finishedCount == 1) {
                _bestElapsedTime = player.elapsedTime;
            }

            CCLabelTTF* label = (CCLabelTTF*)_labelArray[player.playerNumber-1]; NSTimeInterval intervalOffset = player.elapsedTime - _bestElapsedTime; if (intervalOffset > 0) {
                label.string = [NSString stringWithFormat:@"NO.%d +%.4f s",_finishedCount,intervalOffset];
            }else{
                label.string = [NSString stringWithFormat:@"NO.%d %.4f s",_finishedCount,player.elapsedTime];
            }

            label.visible = YES; if (_finishedCount == PlayerCount) {
                _finishedCount = 0;
                _matching = NO;
            }
        }];
        CCActionSequence *seq = [CCActionSequence actionWithArray:@[moveBy,blk]];
        player.speed = [CCActionSpeed actionWithAction:seq speed:1.0];
        [player runAction:player.speed];
        [player runAction:repeat];
        [player startMatch];
    }
}
关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    108697博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.2803s