1、接上文,舞台搭建好了,那么接下来就该人物出场了。也就是Cocos2D-X中的精灵。
2、因为我添加的3个图片都是黑色为主,如果在黑的背景上显示,显然不合理,所以先将舞台颜色改一下。另外,为了便于调试,可以将窗口设大一点。
(1)修改场景颜色,可以通过修改ShooterLayer的基类来实现(代码我就不贴了,因为前一篇文章有,这里只指出要修改的地方):
ShooterLayer.h
ShooterLayer.cpp
修改后的运行效果:
(2)修改窗口大小,main.cpp中:
修改后运行效果:
3、在布景中创建一个精灵,即发射子弹的那个小人:
修改ShooterLayer.cpp中的init函数,添加代码如下:
bool ShooterLayer::init()
{
bool bRct = false;
do
{
// 1、初始化布景
CC_BREAK_IF(!CCLayerColor::initWithColor(ccc4(255, 227, 132, 255)));
// 2、创建窗口右下角的关闭菜单
// 创建菜单项
CCMenuItemImage *pCloseItem = CCMenuItemImage::create(
"CloseNormal.png",
"CloseSelected.png",
this,
menu_selector(ShooterLayer::menuCloseCallback)); // 回调函数
// 检测创建是否成功
CC_BREAK_IF(!pCloseItem); // create失败则返回
// 设置菜单项位置
pCloseItem->setPosition(CCDirector::sharedDirector()->getWinSize().width - 20, 20);
// 创建菜单
CCMenu *pMenu = CCMenu::create(pCloseItem, NULL);
// 设置菜单位置
pMenu->setPosition(CCPointZero);
// 将菜单添加至布景
this->addChild(pMenu);
//
// 创建精灵
CCSprite *pSprite = CCSprite::create("Player.png");
// 获取窗口大小
CCSize sz = CCDirector::sharedDirector()->getWinSize();
// 设置精灵位置
pSprite->setPosition(CCPointMake(pSprite->getContentSize().width/2, sz.height/2));
// 将精灵添加至布景
this->addChild(pSprite);
//
bRct = true;
} while (0);
return bRct;
}
运行效果:
4、待续