读书人

灵便使用精灵可视区域(TextureRect)与

发布时间: 2012-06-29 15:48:46 作者: rapoo

灵活使用精灵可视区域(TextureRect)与锚点(anchorPoint)

?

?? ? 今天Himi单用一篇博文来给童鞋们介绍精灵相关的两个常用的细节知识点;

? ? ??首先来介绍第一个知识点:精灵可视区域;

? ? ? 不管在哪个移动平台上进行开发游戏都会接触使用到可视区域,比如Kjava(J2me)平台的setClip方法,Android的clipRect方法等等,那么在iOS上也一样存在,这里我们介绍cocos2d引擎中的可视区域得函数是setTextureRect;

? ? ? 可能没有接触过游戏得童鞋不明白其概念,那么Himi就简单概述下:

? ? ? 所谓可视区域就是在一个完整的表面上对其设置一定大小的区域,让其只显示设置的区域的面,其他部分隐藏不显示出来;最常用的是将一张图片设置一个可视区域,只让这张图展示设置的区域;

? ? ? 那么这里在嗦几句,在cocos2d中精灵CCSprite的可视区域一般可以通过两种方式来设置:

1.在创建精灵的时候进行设置;2.在创建后进行设置;举例如下:

? ? ? ? 新建一个cocos2d项目,然后在HelloWorldLayer.m中init方法中创建一个精灵,代码如下:

?

?

? ? ?下面介绍第二个知识点:精灵锚点(anchorPoint);

? ? ? ??渲染锚点的作用就是在渲染图片的时候确定其渲染的方式,一般常用的锚点有以下几种:

? ? ? 图片左上角、图片右上角、图片中心点、图片左下角、图片右下角等等

? ? ??首先童鞋们需要知道一点,在cocos2d引擎中在layer中添加渲染精灵贴图的时候默认的锚点是其中心点;

? ? ? 那么由于cocos2d中layer的原点(0,0)点是屏幕的左下角,所以如果默认创建一个精灵添加到layer中的话,是精灵的中心点放置在layer的原点上,即精灵图片显示在屏幕中只是精灵的宽一半高一半,如下图:

灵便使用精灵可视区域(TextureRect)与锚点(anchorPoint)

?

?

? ? ? ? ? ? ? ? 对应代码如下:

? ? ? ? ??对应代码如下:


//---设置精灵锚点为左下角 ?

CCSprite * spriteNew =[CCSprite spriteWithFile:@"icon.png"]; ?

读书人网 >移动开发

热点推荐