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);
<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 中基础零碎知识所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)