CCScale9Sprite 的 setContentSize setPreferredSize 区别
CCScale9Sprite 设置图片大小方式:
updateButtonSpriteMark->setContentSize(size);//设置图片的原始大小设置节点的未转换大小。无论节点被缩放或旋转,contentSize保持不变。 所有节点都有一个大小。 图层和场景的屏幕尺寸相同。//所以不能用这种方式设置图片大小,无效
updateButtonSpriteMark->setPreferredSize(size); ----> 设置图片大小 ok
setContentSize 主要应用在 Label, and ScrollView. 这两个控件,设定内容的显示区上.
关于精灵的各种操作,总结一下以便以后复习查找。
内容简要:
1、初始化 2、创建无图的精灵 3、设置精灵贴图大小 4、添加入层中
5、对精灵进行缩放 6、对精灵款或高进行缩放 7、旋转精灵
8、设置精灵透明度 9、精灵的镜像反转 10、设置精灵的颜色
11、得到图的宽高 12、按照像素设定图片大小 13、在原有的基础上加xy的坐标
14、设置图片锚点 15、从新排列z轴顺序 16、更换精灵贴图
17、设置可视区域 18、贴图无锯齿
-----------------------------------------------------------------------------------------------------------------------------------------------------
//初始化
CCSprite* sprite =[CCSprite spriteWithFile:@"Icon.png"];
//创建无图的精灵
CCSprite*sprite2 =[CCSprite node];
//设置精灵贴图大小
sprite2.textureRect=CGRectMake(0, 0, 20, 20);//设置其为宽20,高20.
//添加入层中
[self addChild:sprite z:2]; //将精灵加入层中设置其z轴为2
//对精灵进行缩放
sprite.scale=2;//放大2倍
//对精灵款或高进行缩放
sprite.scaleX = 2;//宽放大2倍
sprite.scaleY = 2;//高放大2倍
//旋转精灵
sprite.rotation=90;//旋转90度
//设置精灵透明度
sprite.opacity=255;//设置透明度为完全不透明(范围0~255)
//定义精灵位置
sprite.position=ccp(100,100);//设置精灵中心点坐标是x=100,y=100
//精灵的镜像反转
[sprite setFlipX:YES];//X轴镜像反转
[sprite setFlipY:YES];//Y轴镜像反转
//设置精灵的颜色
[sprite setColor:ccc3(255, 0, 0)];//设置颜色为红色
//得到图的宽高
float contentSize = sprite .contentSize.width //得到图片的宽高
//按照像素设定图片大小
sprite.scaleX=(20)/contentSize; //按照像素定制图片宽高 重点:这种方式比较常用!!!
//在原有的基础上加xy的坐标
sprite.position = ccpAdd(sprite.position,ccp(20,20));//在原有坐标的基础上加减坐标
//设置图片锚点
[sprite setAnchorPoint:ccp(0.5,0.5) ];//设置图片的锚点
//从新排列z轴顺序
[self reorderChild:sprite z:1];//从新排列z轴顺序
//更换精灵贴图
CCTexture2D * test=[[CCTextureCache sharedTextureCache] addImage: @"test.png"];//新建贴图
[sprite setTexture:test];
//更换精灵贴图,加载帧缓存,这个test.plist保存了frame这张图
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"test.plist"];
CCSpriteFrame* frame = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@"fram.png"];
[sprite2 setDisplayFrame:frame];
//设置可视区域
CCSprite * sprite3 =[CCSprite spriteWithFile:@"icon.png" rect:CGRectMake(0, 0, 20,20)];//创建时设置
[sprite3 setTextureRect:CGRectMake(10, 10, 30, 30)];//创建后设置
//贴图无锯齿
[sprite3 .texture setAliasTexParameters];
CCScale9Sprite 的 setContentSize setPreferredSize 区别的更多相关文章
- setPreferredSize和setSize的区别及用法
我以前很喜欢borderlayout的布局方式,每次想特别调整每个区域的大小,但是每次将一个panel放入到north或者其他4个区域时,总是达不到想要的效果,刚刚才发现原来setPreferredS ...
- Java GUI setSize()、setPreferredSize()的区别
setSize().setPreferredSize()都可以设置组件的大小,但二者的使用有所不同. 1.setSize()的使用方式 setSize(int width,int height) se ...
- cocos2dx基础篇(11) 点九图CCScale9Sprite
[3.x] (1)去掉"CC" [v3.3] 我们在 ui模块 下实现了一个新的Scale9Sprite类.它的内部实现比之前的Scale9Sprite更为简洁,功能也更为强大. ...
- cocos2d-x CCScale9Sprite
转自:http://www.cocos2dev.com/?p=295 前段时间看CCEditBox的时候,发现里面有个利用9宫格图缩放图片的,也就是缩放带圆角的图片. 这个比较有用处,很多游戏中有很多 ...
- 1cocos2dx扩展UI控制,CCControlSlider,CCScale9Sprite(九妹图。),CCControlSwitch,CCControlButton
UI控件来自cocos2dx的扩展库.完好了UI方面的元素,使cocos2dx更加丰富多彩.使用扩展库需包括: #include "cocos-ext.h" USING_NS ...
- c#与java的区别
经常有人问这种问题,用了些时间java之后,发现这俩玩意除了一小部分壳子长的还有能稍微凑合上,基本上没什么相似之处,可以说也就是马甲层面上的相似吧,还是比较短的马甲... 一般C#多用于业务系统的开发 ...
- jquery和Js的区别和基础操作
jqery的语法和js的语法一样,算是把js升级了一下,这两种语法可以一起使用,只不过是用jqery更加方便 一个页面想要使用jqery的话,先要引入一下jqery包,jqery包从网上下一个就可以, ...
- 【原】nodejs全局安装和本地安装的区别
来微信支付有2年多了,从2年前的互联网模式转变为O2O模式,主要的场景是跟线下的商户去打交道,不像以往的互联网模式,有产品经理提需求,我们帮忙去解决问题. 转型后是这样的,团队成员更多需要去寻找业务的 ...
- 探究@property申明对象属性时copy与strong的区别
一.问题来源 一直没有搞清楚NSString.NSArray.NSDictionary--属性描述关键字copy和strong的区别,看别人的项目中属性定义有的用copy,有的用strong.自己在开 ...
随机推荐
- 【刷题】BZOJ 1070 [SCOI2007]修车
Description 同一时刻有N位车主带着他们的爱车来到了汽车维修中心.维修中心共有M位技术人员,不同的技术人员对不同的车进行维修所用的时间是不同的.现在需要安排这M位技术人员所维修的车及顺序,使 ...
- 模板:CDQ分治
UPD:18.06.15修正一些错误,感谢评论区巨佬orz CDQ分治不是一个顾名思义的东西,CDQ分治是为了纪念神犇陈丹琦而命名的一种算法. 那么CDQ分治能干什么?CDQ分治主要是用来解决一类”操 ...
- 【uoj125】 NOI2013—书法家
http://uoj.ac/problem/125 (题目链接) 题意 在网格上写“NOI”,每个格子上有一些权值,要求覆盖的权值最大.书写有一些规则. Solution 将“NOI”分成11个部分, ...
- Mysql的概述
Mysql的概述 Mysql的安装和初次使用 Mysql的基本概念 Mysql的英文单词是: database,简称 DB. 什么是数据库? 用于存储和管理数据的仓库 数据库的特点: 持久化存储数据. ...
- Error:Could not find com.github.dcendents:android-maven-plugin:1.5.
问题: Error:Could not find com.github.dcendents:android-maven-plugin:1.5.Searched in the following loc ...
- bzoj3463【COCI2012】 Inspector
题目描述 在一个小国家中,一个新的小镇终于建成了!如往常一样,Mirko获得了“首席税务巡查员”的职位.他的任务是保证正确地计算各公司的收入情况.一共有N家办公室坐落在主干道上,从左到右被编号为1~N ...
- YBT 6 数学基础
$补+写题ing$ 第 1 章 快速幂 序列的第 k 个数 link $solution:$ 板子 A 的 B 次方 link $solution:$ 板子 [NOIP2013] 转圈游戏 link ...
- POI导入excel文件2
POI上传到服务器读取excel文件1中已经介绍了上传文件和导入excel所有的内容http://www.cnblogs.com/fxwl/p/5896893.html , 本文中只是单单读取本地文件 ...
- Java基础-Date类常用方法介绍
Java基础-Date类常用方法介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.毫秒值概念 我们在查阅Date类的API文档时,会发现这样的一句话:"The cl ...
- JS中的getter与setter
一.什么是getter和setter getter 是一种获得属性值的方法,setter是一种设置属性值的方法 getter负责查询值,它不带任何参数,setter则负责设置键值,值是以参数的形式传递 ...