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

切换回Xcode,在GameScene.m中添加新的实例变量:_winLayer.

接下来在第一个选手到达终点时,我们可以完成选手胜利的动画特效了.

首先,在GameScene.m中添加一个新方法playerWin:

-(void)playerWin:(CCSprite*)player{

}

我们需要将冠军玩家传递给该方法.注意参数的类型是CCSprite而不是Player,虽然Player直接继承自CCSprite.这是因为我们只是需要玩家外形相关的内容,不关Player类特有的属性什么事.

下面我们实现上一篇提到的3个特效:玩家移动到屏幕中心,玩家不停跳跃,玩家背后衬托出胜利光芒.

补全最终的playerWin方法如下:

-(void)playerWin:(CCSprite*)player{
    //CGPoint pos = ccp(0.4, 0.6);
    CGPoint pos = ccp(0.5, 0.5);

    player.anchorPoint = ccp(0.5, 0.5);

    CCActionMoveTo *move = [CCActionMoveTo actionWithDuration:3 position:pos];
    CCActionScaleTo *scale = [CCActionScaleTo actionWithDuration:3 scale:3.0];
    CCActionJumpBy *jump = [CCActionJumpBy actionWithDuration:60 position:ccp(0, 0)
                                                       height:0.05 jumps:60];

    CCActionCallBlock *block = [CCActionCallBlock actionWithBlock:^{
        _winLayer.visible = YES;
    }];

    CCActionSequence *seq0 = [CCActionSequence actions:move,jump,nil];
    CCActionSequence *seq1 = [CCActionSequence actions:scale,block,nil];

    [player runAction:seq0];
    [player runAction:seq1];
}

代码实现功能为player移动到屏幕中心,同时大头贴尺寸放大到原来的3倍.然后player开始执行跳跃动作,同时打开胜利背景特效.

编译运行游戏,效果如下:

这里写图片描述

是不是略有小激动呢 ;)

下一篇本猫将展示如何实现选手成绩的排行榜功能,下篇见 ;)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大熊猫侯佩

赏点钱让我买杯可乐好吗 ;)

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值