本文整理汇总了C++中Enemy::createEnemy方法的典型用法代码示例。如果您正苦于以下问题:C++ Enemy::createEnemy方法的具体用法?C++ Enemy::createEnemy怎么用?C++ Enemy::createEnemy使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Enemy
的用法示例。
在下文中一共展示了Enemy::createEnemy方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: addNewEnemyByLevel
int GameScene::addNewEnemyByLevel(int lvl){
float dropTime = 1 + ((lvl-1)/4);
auto wSize = Director::getInstance()->getWinSize();
int quantity = GameScene::hardControlForNumByLvl(lvl);
int start = 0;
int end = 8;
int total = abs(end - start);
if (quantity >total) {
CCLOG("随机数错误");
}
int sequence[total]; //存放随机数的数组
int output[quantity]; //最终生成的不重复一系列随机数
//将sequence 初始化
for (int i = 0; i < total; i++) {
sequence[i] = start+i;
}
//随机数种子
timeval psv;
gettimeofday(&psv, NULL);
unsigned seed = (unsigned)psv.tv_sec*1000 + (unsigned)psv.tv_usec/1000;
srand(seed);
for (int i = 0; i < quantity; i++) {
Enemy * obj = Enemy::create();
int weight = GameScene::hardControlForCountByLvl(lvl);
obj->setEnemyWeight(weight);
log("zhongzi:%d",(end-start+1)+start);
int num = CCRANDOM_0_1()*end;//在指定范围下产生随机数
output[i] = sequence[num];//将产生的随机数存储
sequence[num] = sequence[end-1];//将最后个下标的值填充到随机产生的下标中
end--;//在指定范围 向前移
Sprite *em = obj->createEnemy();
auto width = em->getContentSize().width;
float f = output[i]*width+width*.5f;
em->setPosition(f, wSize.height+80);
// log("--%d--%.2f- %.2f-",output[i],f,width);
this->addChild(em,i+100);
GameScene::startDrop(20/dropTime+5*(weight-1), em, false);
curWave.pushBack(obj);
curEnWave.pushBack(em);
}
return waveCount;
}