[置顶] 【cocos2d-x制作别踩白块儿】第五期:添加普通黑白块行

游戏中除了开始和结束的栏,当然还要有普通的黑白块行拉。


1.  声明addNormalLine函数

在HelloWorldScene.h文件中声明addNormalLine函数

	//添加普通的黑白块栏
	void addNormalLine(int lineIndex);
因为游戏中我们要触摸普通黑白块儿,所以我们添加了一个lineIndex参数,是为了方便后面的触摸逻辑。


2. 实现addNormalLine函数

来看一下我们具体如何实现addNormalLine函数

//添加普通的黑白块栏
void HelloWorld::addNormalLine(int lineIndex)
{
	Block *b;
	int blackIndex = rand()%4;
	for(int i=0; i<4; i++)
	{
		b = Block::createWithArgs(blackIndex == i ? Color3B::BLACK : Color3B::WHITE, Size(visibleSize.width/4-1,visibleSize.height/4-1), "", 20, Color4B::BLACK);
		b->setPosition(i*visibleSize.width/4, lineIndex*visibleSize.height/4);
		b->setLineIndex(lineIndex);
		addChild(b);
	}
}
我们随机产生一个黑色块标记blackIndex,如果blackIndex刚好等于i,就显示为黑块,否则显示为白块。所以,我们能得到每一行都有一个黑块。并且都每一行都标记了lineIndex,方便后续的触摸事件。


3. 添加lineIndex的相关函数

既然要得到和设置lineIndex的指,那么就要有相关的函数。在Block.cpp中来具体实现

void Block::setLineIndex(int index)
{
	this->lineIndex = index;
}

int Block::getLineIndex()
{
	return this->lineIndex;
}

4. 添加startGame函数

我们另外写了一个函数,来实现开始游戏

//开始游戏
void HelloWorld::startGame()
{
	addStartLine();
	addNormalLine(1);
	addNormalLine(2);
	addNormalLine(3);
}
在这函数里面,添加了游戏黄色栏,然后添加了三栏普通黑白块栏。

运行项目后,效果如下:



你可能感兴趣的:(代码,cocos2d-x3.0,别踩白块儿)