cocos2d创建带有背景颜色的layer

cocos2d创建带有背景颜色的layer,第1张

概述这次笔者创建了一个带有背景颜色的layer,同时生成了一个Sprite和一个CCLabelTTf,字体显示在Sprite的中心所在。 代码如下: GameScene.h #ifndef __GAMASCENE__H#define __GAMASCENE__H#include "cocos2d.h"class CGameScene : public cocos2d::CCLayerColor

这次笔者创建了一个带有背景颜色的layer,同时生成了一个Sprite和一个cclabelTTf,字体显示在Sprite的中心所在。

代码如下:

GameScene.h

#ifndef __GAMASCENE__H#define __GAMASCENE__H#include "cocos2d.h"class CGameScene : public cocos2d::cclayercolor{public:    // Here's a difference. Method 'init' in cocos2d-x returns bool,instead of returning 'ID' in cocos2d-iphone    virtual bool init();    // there's no 'ID' in cpp,so we recommend returning the class instance pointer    static cocos2d::CCScene* scene();    // a selector callback   // voID menuCloseCallback(CCObject* pSender);    // implement the "static node()" method manually    CREATE_FUNC(CGameScene);};#endif // __HELLOWORLD_SCENE_H__

GameScene.cpp文件内容如下:
#include "GameScene.h"#include "AppMacros.h"USING_NS_CC;CCScene* CGameScene::scene() {	// 'scene' is an autorelease object	CCScene *scene = CCScene::create();	// 'layer' is an autorelease object	CGameScene *layer = CGameScene::create();	//默示获得视口(可视区域)的大小	CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();	//表示可视区域的起点坐标,这在处理相对位置的时候非常有用,确保节点在不同分辨率下的位置一致	CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();	//将该层设置为屏幕大小	layer->setContentSize(CCSize(visibleSize.wIDth,visibleSize.height));	//将该层的起点设置为屏幕原点	layer->setposition(origin.x,origin.y);	// add layer as a child to scene	scene->addChild(layer);	// return the scene	return scene;}bool CGameScene::init() {	 if (!cclayercolor::initWithcolor(ccc4(0xff,0xff,0xff),200,200))	 {		 return false;	 }	CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize(); //默示获得视口(可视区域)的大小	CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin(); //表示可视区域的起点坐标,确保节点在不同分辨率下的位置一致	for (int i = 0; i < 20; i++) {		CCSprite* pSprite = ::CCSprite::create("qiu1.png");		pSprite->setScale(0.25); //	缩放为原来的1/2		pSprite->setposition(				ccp(visibleSize.wIDth / 2 + origin.x+i*60,visibleSize.height / 2 + origin.y)); //确保该图在屏幕中心		cclabelTTF*pLabel = cclabelTTF::create("4","Arial",Title_Font_SIZE);		CCSize pSize = pSprite->getContentSize();		CCPoint pPoint = pSprite->getposition();		pLabel->setScale(4);		pLabel->setposition(ccp(pSize.wIDth / 2,pSize.height / 2)); //如果想要子节点在父节点的中心,则只是需要获得父节点的尺寸,子节点的位置是父节点的中心即可		int a = pSprite->getZOrder();		pLabel->setZOrder(a + 1);		//设置颜色为粉红		pLabel->setcolor(ccc3(255,192,203));		pSprite->addChild(pLabel);		this->addChild(pSprite,0);	}	return true;}
这样就完成了一个背景层颜色设置。以及两个父子关系的CCNode的相对位置确定 总结

以上是内存溢出为你收集整理的cocos2d创建带有背景颜色的layer全部内容,希望文章能够帮你解决cocos2d创建带有背景颜色的layer所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1056184.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存