1、创建方式有三种:

(1)、直接创建
auto blocks = Scale9Sprite::create("blocks9.png", Rect(0, 0, 96, 96), Rect(32, 32, 32, 32));
(2)、使用createWithSpriteFrameName创建
auto blocks_with_insets = Scale9Sprite::createWithSpriteFrameName("blocks9.png", Rect(32, 32, 32, 32));  //Rect为设置需要拉伸的区域
(1)、使用SpriteBatchNode的创建
auto batchNode = SpriteBatchNode::create("blocks9.png");
auto blocks = Scale9Sprite::create();
blocks->updateWithBatchNode(batchNode, Rect(, , , ), false, Rect(, , , ));  //第一个Rect为图片实际大小,第二个Rect同上

另外可设置Scale9Sprite的叠加透明色和透明度

blocks->setCascadeColorEnabled(true);
blocks->setCascadeOpacityEnabled(true);

2、举例:

STEP 1:使用PHOTOSHOP制作原始的小的图片(SIZE: 200 x100),如下图所示。

STEP 2: C++编码。

    Sprite* tmp = Sprite::create("scale.png");
Size size = tmp->getContentSize();   //创建原始的图像对应大小矩形区域。
Rect fullRect = CCRect(,, size.width, size.height);   //创建内部区域对应的矩形大小
  //注意:(11,11)这个点最关键,对应于上图中内部棕色矩形左上角的坐标
  //于是insetRect 即对应于内部的棕色矩形区域
  //实际应用中,我们要对这个内部区域进行放大或者缩小使用
Rect insetRect = Rect(, ,size.width-*, size.height-*); Scale9Sprite* pSprite = Scale9Sprite::create("scale.png",fullRect, insetRect); pSprite->setContentSize(Size(,));
pSprite->setPosition(ccp(visibleSize.width/ + origin.x, visibleSize.height/ + origin.y));
this->addChild(pSprite, );

本例中,我们要创建大小为400X200大小的屏幕精灵。

STEP 3:上述代码运行结果如下。

Cocos2d-x CCScale9Sprite 用法的更多相关文章

  1. cocos基础教程(5)数据结构介绍之cocos2d::Value

    1.概述 cocos2d::Valie 是一个包含了很多原生类型(int,float,double,bool,unsigned char,char* 和 std::string)外加 std::vec ...

  2. GUI之CCControlExtension

    Introduction CCControl is inspired by the UIControl API class from the UIKit library of CocoaTouch. ...

  3. 《疯狂iOS讲义(下)——iPhone/iPad高级应用与手游开发(含CD光盘1张)》

    <疯狂iOS讲义(下)——iPhone/iPad高级应用与手游开发(含CD光盘1张)> 基本信息 作者: 李刚    肖文吉 出版社:电子工业出版社 ISBN:9787121224379 ...

  4. cocos2dx基础篇(11) 点九图CCScale9Sprite

    [3.x] (1)去掉"CC" [v3.3] 我们在 ui模块 下实现了一个新的Scale9Sprite类.它的内部实现比之前的Scale9Sprite更为简洁,功能也更为强大. ...

  5. 学生信息管理系统(cocos2d引擎)——数据结构课程设计

    老师手把手教了两天半,看了一下模式,加了几个功能就大功告成了!!! 给我的感想就是全都是指针! 添加图片精灵: CCSprite*  spBG = CCSprite::create("&qu ...

  6. Cocos2d-x 3.0 Json用法 Cocos2d-x xml解析

    Cocos2d-x 3.0 加入了rapidjson库用于json解析.位于external/json下. rapidjson 项目地址:http://code.google.com/p/rapidj ...

  7. 在cocos2d里面如何使用Texture Packer和像素格式来优化spritesheet

    免责申明(必读!):本博客提供的所有教程的翻译原稿均来自于互联网,仅供学习交流之用,切勿进行商业传播.同时,转载时不要移除本申明.如产生任何纠纷,均与本博客所有人.发表该翻译稿之人无任何关系.谢谢合作 ...

  8. cocos基础教程(5)数据结构介绍之cocos2d::Map<K,V>

    1.概述 cocos2d::Map<K,V> 是一个内部使用了 std::unordered_map的关联容器模版. std::unordered_map 是一个存储了由key-value ...

  9. cocos基础教程(5)数据结构介绍之cocos2d::Vector

    cocos2d::Vector cocos2d::Vector<T>是一个封装好的能动态增长顺序访问的容器.cocos2d::Vector<T>中的元素是按序存取的,它的低层实 ...

随机推荐

  1. 借助AWR报告分析解决oracleCPU过高的问题(转)

    原文地址:http://www.cnblogs.com/crystal-guoguo/p/4213458.html 简介:在oracle数据库中,有两个非常实用的自带监控工具EM(Enterprise ...

  2. Unix时间戳转换

    import time   def timestamp_datetime(value):     format = '%Y-%m-%d %H:%M:%S'     # value为传入的值为时间戳(整 ...

  3. java开发工具之myeclipse调优

    -vmargs -Xms512m //堆的最小值-Xmx512m //堆的最大值(两者设置相同,避免运行时的自动扩张)-XX:PermSize=256m //永久代的最小值 -XX:MaxPermSi ...

  4. Redis学习(6)-常用命令

    List命令 value值为LinkedList类型. 使用环境: 1,做大数据集合的增删. 2,任务队列.用户任务队列 链表查看 lrange key start end:获取链表从start到en ...

  5. Redis学习(2)-redis安装

    安装redis需要先从官网下载的源码进行编译,编译依赖GCC环境,如果没有GCC环境,需要安装GCC. yum install gcc-c++ 步骤1:上传 将Windows下下载的压缩文件上传Lin ...

  6. 初步了解“C#反射”

    来源:http://zhidao.baidu.com/link?url=YzuEaWpYMxYV86bAFVmSAGYtXEzkJ_ndMyZ69QuvNJfikwXvlmtP42hAslGFS2uu ...

  7. static不实现多态

    class Father { public static String getName() { return "father"; } } class Children extend ...

  8. leetcode621 贪心:任务安排

    题目链接 给定26种任务,每种任务的数量已知. 相同任务之间必须间隔n个时间段,为了不足n个时间段,可以让及其休息. 问:最少需要多长时间才能处理完这些任务? 这道题用贪心策略解决:每次安排任务时,优 ...

  9. Megcup 2017 决赛第一题 规则

    2017Megcup 2017Megcup决赛第三题题解 只做出了一道题,虽然慢慢地退出了前128名,但还是要记录一下. 10点钟开始,一看第一题很熟悉,因为研究过格点图中电流问题,其实就是求解线性方 ...

  10. Bugtags 让你的 APP 测试轻松、上线安心

    Bug 管理系统再进化 Bugtags 的创业团队,在过去几年,做了很多方向的尝试——没错,是开发了很多 APP. 每一轮迭代,都会被繁琐的 APP 测试困扰:无休止的截屏上传电脑,无数次的开发与测试 ...