打开SpriteBuilder生成的Xcode项目文件,首先在MainScene添加play回调函数:

-(void)play{
    CCScene *gameScene = [CCBReader loadAsScene:@"GameScene"];
    [[CCDirector sharedDirector]replaceScene:gameScene];
}

这样玩家从游戏主界面点击play按钮就可以进入游戏界面.

下面新建一个GameScene类,继承自CCNode.

我们在GameScene初始化中需要做的一件重要的事就是定位每个玩家的初始位置,因为该功能需要在每次比赛前重复调用,所以单独放在一个方法中:

-(void)initPlayPositon{
    NSInteger i = 0;
    for (CCSprite *player in _players) {
        player.positionType = CCPositionTypeNormalized;
        player.position = ccp(0.05,1.0-((1.0/PlayerCount)*i));
        player.color = [CCColor yellowColor];
        player.anchorPoint = ccp(0, 1);
        i++;
    }
}

注意上面将位置类型设置为百分比模式,所以之后所有和位置相关的改变都是以百分比为基础的.我们将每个玩家的位置放置在GameScene视图width的5%处,高度则根据人数平均取height的值,因为是从上往下排列玩家,所以第一个玩家应该在height的最高处,所以前面要用1减去计算y值.

以上代码结果如下:

(NO.00001)iOS游戏SpeedBoy Lite成形记(二)-LMLPHP

为啥有2种不同大头贴呢?下回分解.

05-11 15:18