精灵的创建方式
第一种:
最常见的方式,用于加载单个独立的纹理图片。
比如,有一个静态的英雄图片 :
那我们可以使用:
var s = new cc.Sprite('sprite.png');
第二种:
使用截图的形式,用于在一块大图中,截取一块小图。
比如有一组英雄的序列图 :
如果我们需要绘制第一帧, 则 :
var s = new cc.Sprite('sprites.png', cc.rect(0,0,48,79));
cc.rect的四个参数代表绘制的一个矩形区域。
精灵常用的属性以及方法(以下函数并不是指cc.Sprite特有的)
方法 :
setTag //设置一个tag
getChildByTag //根据tag获取一个精灵
setAnchorPoint//设置锚点
getAnchorPoint //获取精灵的锚点,返回cc.Point对象(cc.Point对象包括2个值, x和y)
getBoundingBox //获取包住精灵的一个矩形,该矩形的大小等于精灵的大小。多数用于碰撞检测
setName //给精灵起个名字
getName //获取精灵的名字
getChildByName //根据name获取一个精灵
removeAllChildren(cleanup)//删除所有子节点,cleanup代表清除节点的动作及回调函数
removeChild(child, cleanup) //删除节点,child为要删除的节点
removeChildByTag(tag, cleanup) //根据tag删除节点
setColor //设置精灵的颜色,如 :setColor(cc.color(255,0,0));
attr//一次性设置多个属性。如 :attr({x : 400, y : 400, scale :0.5});
setCascadeOpacityEnabled //设置联级不透明度。比如一个元素设置了透明度为128,那它的子元素是否会受其父元素的影响。默认值为false
setTextureRect //设置图片的可视区域。 如 :setTextureRect(cc.rect(0,0,200,200));
属性:
x //精灵的x坐标
y //精灵的y坐标
parent //获取父节点
children //获取所有子节点,返回的是一个数组。改数组包含当前父节点下所有的子节点
childrenCount//获取子节点数组的长度
rotation //旋转精灵
rotationX //只对x轴进行旋转
rotationY //只对y轴进行旋转
scale //缩放,小于1为缩小、1为不缩放、大于1为放大
scaleX //只对x轴进行缩放
scaleY //只对y轴进行缩放
skewX //x轴倾斜
skewY //y轴倾斜
visible //设置精灵是否可见, true为可见,false为不可见
zIndex //z轴大小,决定精灵的遮挡关系
opacity//设置透明度,取值范围0~255
flippedX//水平翻转图像 (使用initWithSpriteFrame播放动画时,必须先initWithSpriteFrame后在翻转才有效果)
flippedY//垂直翻转图像 (使用initWithSpriteFrame播放动画时,必须先initWithSpriteFrame后在翻转才有效果)