cocos2d-x 3.2 之 别踩白块(第一篇)(2)
来源:未知 责任编辑:责任编辑 发表时间:2015-09-16 20:03 点击:次
	   
	
开始行添加完了,结束行就更简单了,
结束行就是 游戏结束的时候 ,整个界面都是绿色的,
同样方法—— 一个函数:addEndLine
// HelloWorldScene.cpp
// 添加结束行
void HelloWorld::addEndLine()
{
	auto block = Block::createBlock(Color3B::GREEN,visibleSize,Game Over,32,Color4B::BLACK);
	addChild(block);
}
可以将 场景init函数中 addStartLine改成addEndLine,看一下效果,这里就不演示啦。
3.添加黑白块
这个和 添加 开始行、结束行差不多,但是比那个稍微麻烦了点。
首先,在Block类中添加一个变量 lineIndex,再添加与它相关的get和set函数
这个变量用处是 来知道该块放在哪一行,
比如开始行就应该放在第0行(在addStartLine相应位置修改一下)
结束行就该放在 第4行(同上,也在相应位置修改)
然后就是添加黑白块的函数了
// HelloWorldScene.cpp
// 添加黑白块
void HelloWorld::addNormalLine( int lineIndex )
{
	Block* block;
	//rand()是伪随机数
	int blackIndex = rand()%4;
	for (int i = 0; i < 4; i++)
	{
		block=Block::createBlock(blackIndex==i?Color3B::BLACK:Color3B::WHITE,
			Size(visibleSize.width/4-2,visibleSize.height/4-2),,20,Color4B::BLACK);
		addChild(block);
		block->setPosition(i*visibleSize.width/4, lineIndex*visibleSize.height/4);
		block->setLineIndex(lineIndex);
	}
}
要知道,整个界面被分成四行(0、1、2、3) 和 四列,
这里随机数随机生成 0~3 ,每行中只有一个会和 i 相同,这个就是黑色块,其余的就是白色块,
在 > blackIndex==i?Color3B::BLACK:Color3B::WHITE < 可知一二。
在场景的init函数中不再直接调用addstartLine,而是设置一个 startGame函数,调用它
// HelloWorldScene.cpp
void HelloWorld::startGame()
{
	addStartLine();
	addNormalLine(1);
	addNormalLine(2);
	addNormalLine(3);
}
然后,运行一下看看

OK,基本工作搞定,下一篇,将会继续讲述 别踩白块的逻辑部分。
相关新闻>>
最新推荐更多>>>
              
          - 发表评论
- 
				
- 最新评论 进入详细评论页>>

![cocos2d_x+lua[2]](/uploads/allimg/131030/110J64609-0-lp.jpg)








