博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Cocos2d-x CCScale9Sprite 用法
阅读量:5816 次
发布时间:2019-06-18

本文共 1373 字,大约阅读时间需要 4 分钟。

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(0, 0, 96, 96), false, Rect(32, 32, 32, 32));  //第一个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(0,0, size.width, size.height);  //创建内部区域对应的矩形大小  //注意:(11,11)这个点最关键,对应于上图中内部棕色矩形左上角的坐标  //于是insetRect 即对应于内部的棕色矩形区域  //实际应用中,我们要对这个内部区域进行放大或者缩小使用    Rect insetRect = Rect(11, 11,size.width-11*2, size.height-11*2);    Scale9Sprite* pSprite = Scale9Sprite::create("scale.png",fullRect, insetRect);    pSprite->setContentSize(Size(400,200));    pSprite->setPosition(ccp(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y));    this->addChild(pSprite, 0);

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

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

转载于:https://www.cnblogs.com/DswCnblog/p/3570875.html

你可能感兴趣的文章
1024全方位防脱发攻略?做发量和代码最刚的程序员
查看>>
好玩的 RAC
查看>>
聊聊eureka client的fetch-remote-regions-registry属性
查看>>
并发编程之 AQS 源码剖析
查看>>
Python 系列教程(入门系列已写完)
查看>>
草根学Python(十一)枚举类
查看>>
淘宝大秒杀系统设计详解
查看>>
浅谈ES6 常用 新特性 并了解其兼容性解决方案
查看>>
https学习笔记以及在retrofit/okhttp中的使用(超多图,爪机慎入)
查看>>
企业分布式微服务云SpringCloud SpringBoot mybatis (九)Spring Boot多数据源配置与使用(JdbcTemplate支持)...
查看>>
webpack 3 零基础入门教程 #11 - 如何使用 pug (jade) 作为 HTML 的模板
查看>>
css 实现一个loading旋转,减少img请求,变相提升网络加载速度
查看>>
通过todoList实例快速react16入门(vue基础更容易理解)
查看>>
Netweaver工作进程的内存限制 VS CloudFoundry应用的内存限制
查看>>
React Native 自定义组件
查看>>
前端初学者应该如何理解面向对象?
查看>>
我所理解的 Object.create
查看>>
Swift中的模式匹配
查看>>
Linux内核读取文件流程源码及阻塞点超详解
查看>>
Flutter 视图体系概述
查看>>