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个角色了


\

 

 

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • cocos2d-x学习笔记(19)--label 、label atlas
  • cocos2d-x学习笔记(23)--地图的使用3--CCTMXLayer
  • Cocos2d-x 2.0 之 Actions “三板斧” 之一
  • Cocos2d-x学习(一):HelloWorld
  • cocos2d-x学习笔记(18)--游戏打包(windows平台)
  • cocos2d 设置屏幕默认方向
  • cocos2d-x学习笔记(16)--spritesheet(精灵表单)
  • cocos2d-x学习笔记(15)--地图的使用(TMX)
  • cocos2dx在xcode下开发,编译到android上(2)
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1