cocos2dx 中基础零碎知识

cocos2dx 中基础零碎知识,第1张

概述1.设置屏幕尺寸 bool AppDelegate::applicationDidFinishLaunching() { // initialize director auto director = Director::getInstance(); auto glview = director->getOpenGLView(); if(!glview) {


1.设置屏幕尺寸

bool AppDelegate::applicationDIDFinishLaunching() {    // initialize director    auto director = Director::getInstance();    auto glvIEw = director->getopenGLVIEw();    if(!glvIEw) 	{		Configuration *pConf = Configuration::getInstance();		pConf->loadConfigfile("strings.pList");		glvIEw = GLVIEw::create(pConf->getValue("string1").asstring());        director->setopenGLVIEw(glvIEw);    }	director->setProjection(Director::Projection::_2D);//设置图片抗锯齿	glvIEw->setDesignResolutionSize(360,640,ResolutionPolicy::EXACT_FIT);#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) || (CC_TARGET_PLATFORM == CC_PLATFORM_MAC)    glvIEw->setFrameSize(360,640);#endif    // turn on display FPS    director->setdisplayStats(false);    // set FPS. the default value is 1.0/60 if you don't call this    director->setAnimationInterval(1.0 / 60);    // create a scene. it's an autorelease object    auto scene = HomePage::createScene();    // run    director->runWithScene(scene);    return true;}

2.一个scene上放两个layer,其中一个半透明
cocos2d::Scene * FengJing::createScene(){	auto scene = Scene::create();	//auto layer = FengJing::create();	auto layer = galleryLayer::create();	auto layer2 = Poetry::create();	layer2->setopacity(5); 	scene->addChild(layer);	scene->addChild(layer2);	return scene;}


3.设置背景颜色

if (!Layercolor::initWithcolor(color4B(255,255,255))){<span >	</span>return false;}

4.定时器
//scheduleUpdate();scheduleOnce(schedule_selector(HomePage::update),1.0f);

voID HomePage::update(float delta){	auto director = Director::getInstance();	auto scene = FengJing::createScene();		director->replaceScene(scene);}

5.获取系统当前时间
<span >	</span>struct tm *tm;  	time_t timep;	time(&timep);	tm = localtime(&timep);	char time[64] = { 0 };	sprintf(time,"%02d月%02d日",tm->tm_mon + 1,tm->tm_mday);		std::string  stime = time;

6.用系统字体显示文字
   <span >	</span>auto label = Label::createWithSystemFont(CMyUtils::getInstance()->Gb2312ToUtf8(stime.c_str()),"Arial",20);    <span >	</span>label->setcolor(color3B::WHITE);    <span >	</span>label->setAnchorPoint(Vec2(0,1));    <span >	</span>label->setposition(origin.x + 10,origin.y + visibleSize.height - 10 );    <span >	</span>addChild(label);

7.用.ttf文件显示自定义字体文字
<span >	</span>label = Label::createWithTTF(CMyUtils::getInstance()->Gb2312ToUtf8("少小离家老大回"),"Fonts/test2.ttf",26);    <span >	</span>label->setcolor(color3B::WHITE);	label->setAnchorPoint(Vec2(0,origin.y + visibleSize.height - 40 );    <span >	</span>addChild(label);


8.菜单按钮
<span >	</span>auto menuitem1 = MenuItemImage::create("bt_main_shicitiaozhan.png","bt_main_shicitiaozhan.png",CC_CALLBACK_1(Poetry::ShiciTiaozhanCallback,this));	menuitem1->setScale(0.3f);	menuitem1->setAnchorPoint(Vec2(0,0));	menuitem1->setposition(Vec2(origin.x + 10,origin.y + 20));	menuitem1->setopacity(200);		auto menuitem2 = MenuItemImage::create("bt_main_jingcaijIEmu.png","bt_main_jingcaijIEmu.png");	menuitem2->setScale(0.3f);	menuitem2->setAnchorPoint(Vec2(0,0));	menuitem2->setposition(Vec2(origin.x + 120,origin.y + 20));	menuitem2->setopacity(200);		auto menuitem3 = MenuItemImage::create("bt_main_baomingcansai.png","bt_main_baomingcansai.png");	menuitem3->setScale(0.3f);	menuitem3->setAnchorPoint(Vec2(0,0));	menuitem3->setposition(Vec2(origin.x + 235,origin.y + 20));	menuitem3->setopacity(200);	auto menu2 = Menu::create(menuitem1,menuitem2,menuitem3,NulL);	menu2->setposition(Vec2::ZERO);    <span >	</span>this->addChild(menu2,1);


菜单按钮回调
voID Poetry::ShiciTiaozhanCallback(Ref* pSender){	auto director = Director::getInstance();	auto scene = ShiciTiaozhan::createScene();	director->replaceScene(scene);}


9.另一种利用监听回调的按钮
<span >	</span>auto sprite4 = Sprite::create("Title_back_red.png");	sprite4->setScaleX(0.5f);	sprite4->setScaleY(0.5f);	sprite4->setAnchorPoint(Vec2(0,1));	sprite4->setposition(Vec2(origin.x  + 15,visibleSize.height + origin.y - sprite3->boundingBox().size.height - 15));	this->addChild(sprite4,0);	auto touchListener = EventListenertouchOneByOne::create();    <span >	</span>touchListener->ontouchBegan = [sprite4](touch* t,Event * e)	{                <span >	</span>if (sprite4->getBoundingBox().containsPoint(t->getLocation())) 		{            <span >		</span>auto director = Director::getInstance();			auto scene = FengJing::createScene();			director->replaceScene(scene);        <span >	</span>}		return false;      };
      Director::getInstance()->getEventdispatcher()->addEventListenerWithSceneGraPHPriority(touchListener,this);
总结

以上是内存溢出为你收集整理的cocos2dx 中基础零碎知识全部内容,希望文章能够帮你解决cocos2dx 中基础零碎知识所遇到的程序开发问题。

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

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

原文地址: https://outofmemory.cn/web/1032345.html

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

发表评论

登录后才能评论

评论列表(0条)

保存