Cocos2d-x 3.2 大富翁游戏项目开发-第七部分 获取角色路径_2(3)
来源:未知 责任编辑:责任编辑 发表时间:2015-09-09 15:29 点击:次
4、接下来在addPlayer()方法中,从容器wayLayerPass_vector中随机取出坐标,进行角色的添加。
void GameBaseScene:: addPlayer() { //指定随机数种子,随机数依据这个种子产生 采用当前时间生成随机种子: struct timeval now; gettimeofday(&now, NULL); //计算时间种子 unsigned rand_seed = (unsigned)(now.tv_sec*1000 + now.tv_usec/1000); // 初始化随机数 srand(rand_seed); //从帧缓存图片中取第一张,做为角色的初始图片 SpriteFrame* spf1 = player1_spriteFrameCache->getSpriteFrameByName(player1_anim_01.png); player1 = RicherPlayer::create(player1,spf1,false); //根据wayLayerPass_vector的坐标数量,取得随机的一个id int _rand1 = rand()%(wayLayerPass_vector.size()); log(rand %d ,_rand1); //根据id,取出其中的坐标 Vec2 vec2ForPlayer1 = wayLayerPass_vector.at(_rand1); //这个我们给纵向位置添加一个tiledHeight高度,目的是为了让角色居中显示在道路中 vec2ForPlayer1.y +=tiledHeight; //设置角色的位置,以及锚点 player1->setPosition(vec2ForPlayer1); player1->setAnchorPoint(ccp(0,0.5)); //log 相关 int col = vec2ForPlayer1.x/tiledWidth; int row = vec2ForPlayer1.y/tiledHeight; log(player1 position row= %d ,col = %d ,row,col); log(player1 position x= %f ,y = %f , vec2ForPlayer1.x, vec2ForPlayer1.y); //添加角色到地图场景 addChild(player1); 角色2的添加同角色1方法相同,不再累述 ………………… }
测试ok 已经可以看到2个角色了

相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 进入详细评论页>>