9.5总结

来源:互联网 发布:斗地主自动出牌算法 编辑:程序博客网 时间:2024/06/14 11:08

今天开始接触游戏的层面,从飞机游戏开始。先实现初始界面的功能,有初始界面,初始界面的音乐,游戏界面。并且学习了重要的Plist的作用

//plist的作用

bool GameScene::init()
{
//////////////////////////////
// 1. super init first
if (!Layer::init())
{
return false;
}

Size visibleSize = Director::getInstance()->getVisibleSize();
auto game = Sprite::create("Map1_2.jpg");
game->setPosition(ccp(visibleSize.width / 2, visibleSize.height / 2));
this->addChild(game);

auto cache = SpriteFrameCache::getInstance();
cache->addSpriteFramesWithFile("Monster.plist","Monster.png");

auto sp = Sprite::createWithSpriteFrameName("Monster11.png");
sp->setPosition(ccp(visibleSize.width / 2, visibleSize.height / 2));
this->addChild(sp);

return true;

}

plist 的作用是 帮助节省内存,提高渲染速度,可以把一张张的小图片拼成一张大图片,达到节省内存的目的,而且可以随时取用plist文件中的小图片,


添加界面,音乐,界面转换

bool HelloWorld::init()
{
    //////////////////////////////
    // 1. super init first
    if ( !Layer::init() )
    {
        return false;
    }
    
    Size visibleSize = Director::getInstance()->getVisibleSize();
    Vec2 origin = Director::getInstance()->getVisibleOrigin();
//添加背景
auto sprite = Sprite::create("LoadBG.jpg");
addChild(sprite);
//设置背景锚点
sprite->setAnchorPoint(Vec2(0, 0));
//添加音乐
SimpleAudioEngine::getInstance()->playBackgroundMusic("bgm_map1.mp3", true);


//切换场景                 切换场景需要重新添加新的.h和.cpp文件,在.h中声明,在cpp中实现,最后在HelloWorld.cpp中调用新的.h头文件。
auto item1 = MenuItemFont::create("play", [&](Ref *sender) {
auto scene = GameScene::createScene();
Director::getInstance()->replaceScene(TransitionFlipX::create(2, scene)); 2表示深度,用来覆盖之前的图片,数字越大表示越深,优先级更大
});
auto menu = Menu::create(item1, nullptr);

menu->alignItemsVertically();
this->addChild(menu);

0 0