码迷,mamicode.com
首页 > 编程语言 > 详细

cocos2d-x实战 C++卷 学习笔记--第5章 精灵

时间:2016-08-28 23:47:38      阅读:239      评论:0      收藏:0      [点我收藏+]

标签:

前言:

精灵类是Sprite类。它的子类有PhysicsSprite 和 Skin。

PhysicsSprite 是物理引擎精灵类,而Skin是皮肤精灵类,用于骨骼动画。

创建Sprite精灵对象

创建精灵对象有多种方式,常用的函数如下:

1)创建一个精灵对象,纹理等属性需要在创建后设置

static  Sprite*  create();

2)指定图片创建精灵

static  Sprite*  create(const  std::string&  filename);

3)指定图片和裁剪的矩形区域来创建精灵

static  Sprite*  create(const  std::string&  filename,  const  Rect&  rect);

4)指定纹理创建精灵

static  Sprite*  createWithTexture(Texture2D*  texture);

5)指定纹理和裁剪的矩形区域来创建精灵,第3个参数指定是否旋转纹理,默认不旋转

static  Sprite*  createWithTexture(Texture2D*  texture, const  Rect&  rect,  bool  rotated = false);

6)通过一个精灵帧对象创建另一个精灵对象

static  Sprite*  createWithSpriteFrame(SpriteFrame*  pSpriteFrame);

7)通过指定帧缓存中精灵帧名 创建 精灵对象

static  Sprite*  createWithSpriteFrameName(cosnt  std::string & spriteFrameName);  

代码示例:

 1    auto spbk = Sprite::create("background.png");
 2     //// 此处没有设置position,默认的位置是 左下角 
 3     //spbk->setPosition(Point(origin.x + visibleSize.width / 2, origin.y + visibleSize.height / 2));
 4     spbk->setAnchorPoint(Point::ZERO);
 5     this->addChild(spbk, 0);
 6 
 7     //// 使用 纹理对象(Texture2D) 创建Sprite对象.
 8     ///  Rect(float x, float y, float width, float height);
 9     // 参数rect是 tree1.png图片中,UI坐标系下,(604,38)坐标位置,宽302,高295的一个区域
10     auto tree1 = Sprite::create("tree1.png", Rect(604, 38, 302, 295));
11     tree1->setPosition(Point(200, 230));
12     this->addChild(tree1, 0);
13 
14     Texture2D* cache = Director::getInstance()->getTextureCache()->addImage("tree1.png");
15     auto tree2 = Sprite::create();
16     tree2->setTexture(cache);
17     // 参数rect是 tree1.png图片中,UI坐标系下,(73,72)坐标位置,宽182,高270的一个区域
18     tree2->setTextureRect(Rect(73, 72, 182, 270));
19     tree2->setPosition(Point(500, 200));
20     this->addChild(tree2, 0);

通过 Director::getInstance()->getTextureCache() 函数可以获得 TextureCache 实例,TextureCache 的 addImage("tree1.png")函数可以创建纹理Texture2D对象,其中的tree1.png是纹理图片名。

 

cocos2d-x实战 C++卷 学习笔记--第5章 精灵

标签:

原文地址:http://www.cnblogs.com/MasterOogway/p/5816245.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!