0
点赞
收藏
分享

微信扫一扫

Cocos2D-X射击小游戏(四)编码2 添加一个精灵


1、接上文,舞台搭建好了,那么接下来就该人物出场了。也就是Cocos2D-X中的精灵。


2、因为我添加的3个图片都是黑色为主,如果在黑的背景上显示,显然不合理,所以先将舞台颜色改一下。另外,为了便于调试,可以将窗口设大一点。

(1)修改场景颜色,可以通过修改ShooterLayer的基类来实现(代码我就不贴了,因为前一篇文章有,这里只指出要修改的地方):

ShooterLayer.h

Cocos2D-X射击小游戏(四)编码2 添加一个精灵_Cocos2D-X

ShooterLayer.cpp

Cocos2D-X射击小游戏(四)编码2 添加一个精灵_回调函数_02

修改后的运行效果:

Cocos2D-X射击小游戏(四)编码2 添加一个精灵_回调函数_03


(2)修改窗口大小,main.cpp中:

Cocos2D-X射击小游戏(四)编码2 添加一个精灵_Cocos2D-X_04

Cocos2D-X射击小游戏(四)编码2 添加一个精灵_窗口大小_05


修改后运行效果:

Cocos2D-X射击小游戏(四)编码2 添加一个精灵_窗口大小_06


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;
}



运行效果:

Cocos2D-X射击小游戏(四)编码2 添加一个精灵_Cocos2D-X_07


4、待续


举报

相关推荐

0 条评论