之前的10篇内容主要实现了选手从起点移动至终点的动作,比较随机的模拟了选手的速度变化,另外完成了选手到达终点时该做的事情.
接下来的几篇中我们进一步完善SpeedBoy Lite项目,使它真正成为一个可玩的小游戏.
首先添加几个新的人物大头像,好歹也是8条赛道,别老是8胞胎似得一起跑,起码人物要区分开.于是祭出Ai,在新加6个人物头像,如下:
全部本猫手绘出来的,手确实蛮累的 ;)
下面依次将新画的6副大头贴拖入SpriteBuilder,发布资源.然后修改player初始化的代码如下:
Player *player;
for (int i = 0; i < PlayerCount; i++) {
NSString *playerName = [NSString stringWithFormat:@"Player%d",i+1];
player = [[Player alloc]initWithName:playerName Number:i+1 andFrameNumber:i+1];
[_track addChild:player];
[_players addObject:player];
}
运行App看看效果:
起码可以区分开选手了,请先忽略图片最上一行标签文字,后面自有分晓.
下面再增加一些跑步的特效,实现选手向前进方向不断前倾身体的动作,在matchRun方法中增加以下内容:
CCActionSkewTo *skew = [CCActionSkewTo actionWithDuration:0.5 skewX:10 skewY:0];
CCActionSkewTo *skewReverse = [CCActionSkewTo actionWithDuration:0.5 skewX:0 skewY:0];
CCActionSequence *seqSkew = [CCActionSequence actionWithArray:@[skew,skewReverse]];
CCActionRepeatForever *repeatSkew = [CCActionRepeatForever actionWithAction:seqSkew];
[player runAction:repeatSkew];
同样repeatSkew动作要在选手到达终点时清除,这个在回调block里写,这里不再详述.