从iOS开发到cocos2D学习心得

2018-01-03  本文已影响0人  Arackboss

第一篇:如何在mac上搭建cocos2d开发环境。

创建工程

cocos new 工程名 -p 包名 -l 语言 -d 目标文件夹

这里面的com.history.HelloWorld就是该项目的bundleID
至此,mac下的cocos2D开发工作就已经搭建好了。

第二篇:Sprite精灵类

下面通过使用纹理对象来创建Sprite对象:

    //创建背景
    auto background = Sprite::create("HelloWorld.png");
    background -> setAnchorPoint(Vec2::ZERO);
    background ->setPosition(Vec2(0, 0));
    this -> addChild(background,0);
    
    //创建一个精灵(通过截取图片的一部分创建一个精灵)
    auto sprite = Sprite::create("HelloWorld.png", Rect(10,10,60,60));
    sprite ->setPosition(Vec2(200,200));
    this ->addChild(sprite);
    
    //使用纹理创建一个精灵
    Texture2D *cache = Director::getInstance()->getTextureCache()->addImage("HelloWorld.png");
    auto anoterSprite = Sprite::create();
    anoterSprite->setTexture(cache);
    anoterSprite-> setTextureRect(Rect(20, 20, 40, 40));
    anoterSprite->setPosition(Vec2(400, 200));
    this -> addChild(anoterSprite);

精灵的性能优化

游戏是一种很耗费资源的应用,特别是在移动设备中的游戏,性能优化是非常重要的。性能优化的方面有很多,这里只先介绍精灵相关的性能优化,关于其他方面的优化,会在后面的第20章介绍。精灵的性能优化可以使用精灵表和缓存。

使用纹理图集对精灵进行优化

纹理图集也称为精灵表,它是把许多小的精灵图片组合到一张大图里面。使用纹理图集有如下主要优点:

使用精灵帧缓存

精灵帧缓存是缓存的一种,缓存有如下几种:
1)纹理缓存。使用纹理缓存可以创建纹理对象。
2)精灵帧缓存。能够从精灵表中创建精灵帧缓存,然后再从精灵帧缓存中获得精灵对象,反复使用精灵对象时,使用精灵帧缓存可以节省内存消耗。
3)动画缓存。动画缓存主要用于精灵动画,精灵动画中的每一帧是从动画缓存中获取的。

使用精灵帧缓存涉及的类有SpriteFrame和SpriteFrameCache。使用SpriteFrameCache创建精灵对象的主要代码如下:
SpriteFrameCacae::getInstance()->addSpriteFramesWithFile("SpriteSheet.plist");

auto mountain1 = Sprite::createWithSpriteFrameName("mountain1.png");

上一篇 下一篇

猜你喜欢

热点阅读