您的位置:首页 > 其它

一些新收获--随机数

2013-05-14 16:28 134 查看
 如释重负的感觉真好!

A

5.13即上一篇文中所说:在范围内添加也可以采用随机数方法。

就是x.y坐标采用分别选取一个范围.下面为随机数:float YeZiScene::GetRandomReal(int low, int up)
{
float fResult;

if (low > up)
{
int temp = low;
low = up;
up = temp;
}

fResult = low + (up - low) * rand() / (RAND_MAX + 1);

fResult = rand()%low+up-low;

return fResult;
}
在一定范围内随机添加精灵,注意随机坐标 只是一个从开始到最大数的一个点(换句话说 它的坐标是从原点开始定位的往外延伸) 并不能截取中间那一段为坐标点
void YeZiScene::add萝卜()
{

m = 41;

for(int i =0;i <=4;i++)
{

// X = arc4random()%160;
// Y =arc4random()%100;

X = GetRandomReal(120,300);
Y = GetRandomReal(100,200);
CCSprite *坑 = CCSprite::createWithSpriteFrameName("坑");
CCSprite *萝卜 = CCSprite::createWithSpriteFrameName("萝卜");

dian->setPosition(ccp(X,Y));
yezi->setPosition(ccp(X,Y));
m = m+i;
n=m+100;
dian->setTag(m);
yezi->setTag(n);

this->addChild(坑);
this->addChild(萝卜);

_坑s->addObject(坑);

}
}
B触摸原理:首先初始化创建数组->update中 for循环 遍历数组 遍历出tag 以及关联的精灵 tag ,检测碰撞  判断tag是否为空 进行移除精灵 之后删除数组中的精灵 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: